伙计们,我对回文症有一个疑问。我为数字回文写了一个程序。它执行成功,但是当我输入333时,我得到了正确的输出;当我输入111时,我得到了错误的输出。我不知道什么是错的,因为当我在3以上执行时,将给出正确的输出;但是当我在3以下执行时,将得到错误的输出。请帮助我解决我做错的事情。
public class Practice1 {
public static void main(String[] args) {
int num = 121, res = 0, var = 0, c = num;
for (int i = 1; i <= num; i++) {
res = num % 10;
var = var * 10 + res;
num = (num) / 10;
}
if (var == c) {
System.out.println(c + " is a Palindrome Number");
} else {
System.out.println(c + " is not a Palindrome Number");
}
}
}
您可以使用while
循环
public static void main(String[] args) {
int num = 121, res = 0, var = 0, c = num;
while (num != 0) {
res = num % 10;
var = var * 10 + res;
num = (num) / 10;
}
if (var == c) {
System.out.println(c + " is a Palindrome Number");
} else {
System.out.println(c + " is not a Palindrome Number");
}
}