我正在Windows 8中的textpad(java)上编码。我编写了一个程序来检查给定的数字是否是回文。但是对于每个输入的选择(无论数字是多少),它总是显示它不是回文。请告诉我我的代码有什么问题,帮助我。
class reversenumber
{
private int n=99;
private int rem=0;
private int rev=0,d;
public void calc()
{
while(n>=0)
{
rem=n%10;
rev=(rev*10)+rem;
n=n/10;
if(n==0)
{
break;
}
}
if(rev==n)
{
System.out.println("The number is a palindrome");
}
else
{
System.out.println("The number is not a palindrome");
}
}
public static void main(String args[])
{
reversenumber x=new reversenumber();
x.calc();
}
}
答案 0 :(得分:1)
问题在于:
if(rev==n)
{
System.out.println("The number is a palindrome");
}
因为n已经变为0,所以你比较它会反转n的初始值,因为它永远不会相等,因此输出错误。因此,您可以创建另一个变量并最初为其指定n的值。然后在里面,如果你可以比较转速与其他数字。希望这会有所帮助。