【发布时间】:2021-04-29 05:38:29
【问题描述】:
所以,我们在第一学期就做了这个。为什么它最终删除了0?我该如何解决?我输入 4000,它显示 4,当我需要时是 4 0 0 0。如果我输入 8030,它会输出 8 0 3。
if (number > 0) {
while (number != 0) {
individualNum = individualNum * 10 + number % 10;
number = number / 10;
}
while (individualNum > 0) {
System.out.print((individualNum % 10));
sum = sum + (individualNum % 10);
individualNum = individualNum / 10;
if (individualNum > 0) {
System.out.print(" ");
}
else if (individualNum < 0){
System.out.print((individualNum ));
sum = sum + (individualNum % 10) * -1;
individualNum = individualNum / 10;
}
}
System.out.println(" = " + sum);
}
else if (number < 0){
while (number != 0) {
individualNum = individualNum * 10 + number % 10;
number = number / 10;
}
while (individualNum < 0) {
System.out.print((individualNum*-1 % 10));
sum = sum + (individualNum % 10);
individualNum = individualNum / 10;
if (individualNum < 0) {
System.out.print(" ");
}
else if (individualNum < 0){
System.out.print((individualNum ));
sum = sum + (individualNum % 10) ;
individualNum = individualNum / 10;
}
}
System.out.println(" = " + sum * -1 );
}
}catch (InputMismatchException x ){
System.out.println("Please enter the negative sign at the front");
}
}
}
【问题讨论】:
-
只是猜测...与您的 while 条件无关:
while (number != 0)? -
您是否已经使用调试器单步执行您的代码?您的条件似乎都排除了 0 值,即
number != 0和individualNum < 0等。由于缺少缩进,我还发现您的代码很难阅读,请修复此问题。