java If语句即使在满足条件后也不工作
这是一个解决问题的办法,找到偶数位数的总和。 主要
public class Main {
public static void main(String[] args) {
int mySum=EvenDigitSum.getEvenDigitSum(879);
System.out.println(mySum);
}
}
以上为主要方法
Even DigitSum
public class EvenDigitSum {
public static int getEvenDigitSum(int number){
int sum=0;
if (number<0){
return -1;
}else {
while (number>0){
int lastDigit=(number%10);
System.out.println("last digit"+lastDigit);
if (lastDigit%2==0){
sum=(sum+lastDigit);
System.out.println("my sum"+sum);
}
number/=10;
}
return sum;
}
}
}
这里有两个print语句,一个在while循环中,另一个在if语句中。while循环中的一个给出正确的输出,但if语句中的一个从未给出正确的输出。 在主方法中,我的编号是879,其中8表示8 if语句应该可以工作,但它不工作。我最后的偶数总和是0
使用了错误/而不是%
# 1 楼答案
在这方面:
您正在检查最后一个数字的一半是否为0。当然,只有当数字为0或1时才会发生这种情况。相反,请使用
% 2
获取剩余部分: