在Java中如何判断数字是否为回文

在Java中如何判断数字是否为回文,java,while-loop,int,java.util.scanner,palindrome,Java,While Loop,Int,Java.util.scanner,Palindrome,我很难确定我是否正确地使用了公式来确定用户输入的数字是否是回文(我还需要使用while循环)。我算对了吗?当我尝试输入数据时,它只是坐在那里,什么也不做。代码如下: System.out.print("Enter the number you would like to be checked if it is a palindrome:"); int num = input.nextInt(); int rev = num % 10; int count = 1; int i = 0; int

我很难确定我是否正确地使用了公式来确定用户输入的数字是否是回文(我还需要使用while循环)。我算对了吗?当我尝试输入数据时,它只是坐在那里,什么也不做。代码如下:

System.out.print("Enter the number you would like to be checked if it is a palindrome:");
int num = input.nextInt();
int rev = num % 10;
int count = 1;
int i = 0;
int originalNum = num;

while(count < 2)
    rev = num % 10;
    num = num / 10;
    i = i*10 + rev;

    count = count + 1;
if(originalNum == i)
    System.out.println("The number you input is a palindrome.");
else
    System.out.println("The number you input is not a palindrome.");
System.out.print(“如果是回文,请输入您希望检查的号码:”;
int num=input.nextInt();
int rev=num%10;
整数计数=1;
int i=0;
int originalNum=num;
而(计数<2)
rev=num%10;
num=num/10;
i=i*10+rev;
计数=计数+1;
if(originalNum==i)
System.out.println(“您输入的数字是回文。”);
其他的
System.out.println(“您输入的数字不是回文。”);

这里列出了第一个(即“非递归”解决方案)。当然,您必须先将数字转换为字符串,才能使用此字符串:


我对你的代码做了一些更改。现在,它起作用了

        int num = input.nextInt();
        int rev=0;
        int i = 0;
        int originalNum = num;

        while(num!=0){
            rev = num % 10;
            i = i*10 + rev;
            num = num / 10;
        }

            if(originalNum == i)
                System.out.println("The number you input is a palindrome.");
            else
                System.out.println("The number you input is not a palindrome.");

Java不是Python。你确实漏了几根牙套。目前,while循环只执行
rev=num%10这可能不是你想要的。我听起来更容易做一些事情,比如
Integer.toString(value).equals(new StringBuilder(Integer.toString(value)).reverse.toString())
ZouZou我想我会用大括号试试,而且我以前从未用Python编程过。我想知道的是我的公式是正确的(也因为某些原因,当我输入一个数字时,没有任何东西被打印出来)。是时候学习如何调试了。谢谢你的帮助(我不知道为什么有人否决了这一点)!
        int num = input.nextInt();
        int rev=0;
        int i = 0;
        int originalNum = num;

        while(num!=0){
            rev = num % 10;
            i = i*10 + rev;
            num = num / 10;
        }

            if(originalNum == i)
                System.out.println("The number you input is a palindrome.");
            else
                System.out.println("The number you input is not a palindrome.");