我正在尝试获得回文列表,但它没有给出任何类型的输出。但是当我检查回文时它会起作用。
public class Main {
public static void main(String[] args) {
int num=0 ,org=0 , rem = 0,rev=0 ,a=0;
for(num=12 ; num<=101; num++) {
org=num ;
while(num>0) {
rem = num % 10 ;
num = num /10 ;
rev= (10*rev)+rem;
}
if(rev==org)
System.out.println(org);
}
}
}
为什么我没有得到任何输出?
答案 0 :(得分:1)
您有两个错误:
rev
重置为0(否则,rev
只会在第一次迭代中正确)。num=org;
,以恢复循环变量的值。否则,循环可能永远不会终止,因为你正在弄乱循环体内的循环变量。它应该是这样的:
for(num=12 ; num<=101; num++) {
org=num ;
rev = 0; // added
while(num>0) {
rem = num % 10 ;
num = num /10 ;
rev= (10*rev)+rem;
}
if(rev==org)
System.out.println(org);
num = org; // added
}
输出:
22
33
44
55
66
77
88
99
101