无论输入什么,我的代码都会不断输出“ true”。我的代码未显示任何错误,我输入56作为输入,但仍显示“ true”。我很难弄清楚为什么。另外,我还是Java和Stack Overflow的新手。任何帮助,将不胜感激。
//回文验证
temp = integer;
while (integer > 0)
{
remainder = integer%10;
reverse = reverse * 10 + remainder;
integer=integer /10;
}
if (integer==reverse)
System.out.println("True");
else
System.out.println("False");
答案 0 :(得分:1)
在您的程序中,当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");
}
}
答案 1 :(得分:0)
您需要将START值与REVERSE进行比较。在您的代码中,(integer == reverse)将始终为FALSE,因为在while循环后,integer == 0。
object.name