System.out.println 是不是打印输出?

System.out.println is not printing output?

我正在尝试获取回文列表,但它没有提供任何类型的输出。但是当我检查回文时它起作用了。

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);
        }
    }
}

为什么我没有得到任何输出?

您有两个错误:

  1. 您应该在每次迭代中将 rev 重置为 0(否则,rev 只会在第一次迭代中正确)。
  2. 您应该在每次迭代结束时添加 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