您好,我正在尝试编写一个程序,该程序将从用户那里收到一个号码
如果它是偶数(例如9728,程序会将其更改为7982)
如果它是一个奇数(例如1234567程序会将其更改为1325476,则剩下的数字将保持不变)
由于某些原因,只有第二种选择有效。谢谢你的帮助
int firstnumber, mull = 1, sum = 0, i = 0;
int rightDigit;
System.out.println("Please enter a number");
firstnumber = s.nextInt();
while (firstnumber != 0) {
rightDigit=firstnumber%10;
rightDigit*=mull;
if((firstnumber > 9) && (i%2==0)){
rightDigit*=10;
}
else if ((firstnumber > 9) && (i%2!=0)){
rightDigit/=10;
}
sum+=rightDigit;
mull*=10;
firstnumber/=10;
i++;
}
System.out.println("Your number is " + sum);
最佳答案
当您有偶数个数字时,程序会将最后一个数字弄乱。尝试从else子句中取出firstnumber> 9:
else if (i%2!=0){
rightDigit/=10;
}