首页 > 解决方案 > 谁能告诉我这段代码出了什么问题?

问题描述

这是代码片段。我在这里找不到任何问题...有人可以帮忙吗?

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

if (num == rev)
    System.out.println("The number is Palindrome");
else
    System.out.println("The number is not Palindrome");

标签: java

解决方案


这段代码的问题是你没有num在反转变量之前存储它的值。随着while开始,num值开始改变。你应该做这个:

int temp = num; // storing the original value
int rev = 0; // initial value of rev
// --------
// while loop logic here
// --------
if(temp == rev) // change your condition here
// and you're good to go

推荐阅读