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);
}
}
}
为什么我没有得到任何输出?
您有两个错误:
- 您应该在每次迭代中将
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
我正在尝试获取回文列表,但它没有提供任何类型的输出。但是当我检查回文时它起作用了。
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);
}
}
}
为什么我没有得到任何输出?
您有两个错误:
- 您应该在每次迭代中将
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