2 回答
![?](http://img1.sycdn.imooc.com/545862db00017f3402200220-100-100.jpg)
TA贡献1784条经验 获得超2个赞
在您的程序中,当while循环完全执行时,integer变量值将变为零,这就是问题所在。您需要更改if (integer==reverse)为if (temp==reverse)。
完整的代码:
public class palindrom {
public static void main(String[] args) {
int integer = 122; //change this value according to your preference
int temp = integer;
int remainder;
int reverse = 0;
while (integer > 0){
remainder = integer%10;
reverse = reverse * 10 + remainder;
integer=integer /10;
}
if (temp==reverse)
System.out.println("True");
else
System.out.println("False");
}
}
![?](http://img1.sycdn.imooc.com/533e52b90001456f02000200-100-100.jpg)
TA贡献1806条经验 获得超8个赞
您需要将START值与REVERSE进行比较。在您的代码中,(integer == reverse)将始终为FALSE,因为在while循环后,integer == 0。
int integer = 12344321;
int remainder, reverse = 0;
int start = integer;
while (integer > 0)
{
remainder = integer%10;
reverse = reverse * 10 + remainder;
integer = integer / 10;
}
if (start==reverse)
System.out.println("True");
else
System.out.println("False");
System.out.println(reverse);
添加回答
举报