已关闭此问题为not reproducible or was caused by typos。它目前不接受回答。
此问题是由打印错误或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这一个是解决的方式不太可能帮助未来的读者。
2小时前关闭
Improve this question
这是我的代码
public class EvenOdd {
public static void main(String[] args) {
int number = Integer.parseInt(args[0]);
int total =0;
if (number < 0){
System.out.println("ERROR");
return;
}
while (number > 0){
int digit = number % 10;
total = digit + total;
number = number/10;
}
if(total/2 == 0){
System.out.println("Even");
}else{
System.out.println("ODD");
}
}
}
这个程序应该是一个四位数的数字,并把所有的数字加在一起。如果数字之和是偶数,它必须打印出偶数,如果是奇数,则打印出奇数。对于像2222这样的4位数输入,它应该打印出偶数,但它一直打印奇数。我该如何解决此问题?
2条答案
按热度按时间zqdjd7g91#
它必须是
total%2
,而不是代码中的total/2
bxjv4tth2#
使用 *mod**运算符 *
%
来确定余数。更快的方法是直接解析 char 值。
此外,parity 是 integer 的属性,因此这包括 * 负值 *。
下面是一个使用 stream 的例子。