gpt4 book ai didi

java - 使用 toCharArray() 打印所有奇数和偶数输入

转载 作者:行者123 更新时间:2023-12-01 11:53:32 25 4
gpt4 key购买 nike

我想获取用户输入的所有奇数和偶数,然后获得所有奇数与偶数之差的乘积。例如:输入字符串:dfgi456456=';]=34521。输出应显示用户输入中的所有奇数和偶数以及乘积和差值,在本例中,奇数为:5,3,1 偶数为:4,6,2 奇数的乘积(乘法的答案): 15 偶数的差(减法答案):-4。请看下面我的代码。任何帮助,将不胜感激。谢谢。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();

if (request.getParameter("stringToArray") != null) {
char[] input = request.getParameter("stringToArray").toCharArray();
int diffEven;
int prodOdd;
int i;
for(i = 0; i <= input.length; i++){
if( i % 2 == 0){
diffEven -= input;
}
else{
prodOdd *= input;
}
}
out.print("<h4>All ODD numbers are: </h4>" +i);
out.print("<h4>All EVEN numbers are: </h4>" +i);
out.print("<h4>Product of all ODD numbers: </h4>" +prodOdd);
out.print("<h4>Difference of all EVEN numbers: </h4>" +diffEven);
}
out.close();

}

}

最佳答案

  1. 访问数组元素的正确方法是index[i]
  2. 数组元素为 char 类型。为了进行算术测试和计算,您应该将它们转换为 int 值。 Character.getNumericValue(input[i]) 可能会有所帮助。您还应该测试它是否为非负数,因为它对于非数字字符返回负值。
  3. 对于乘法部分,prodOdd 的初始值为0。因此你所有的乘法都被浪费了。您应该使用 1 初始化此变量。
  4. 对于差异部分,您希望不减去第一个数字。因此,您应该有一个标志或其他东西来检测输入中遇到的第一个数字。类似的事情可能会有所帮助:
    boolean firstNum = true;     ...     if ( ... ) {        // Even numbers        if (firstNum)        {            diffEven += digitVal;            firstNum = false;        }        else         {            diffEven -= digitVal;        }     }

关于java - 使用 toCharArray() 打印所有奇数和偶数输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28609598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com