问题描述
1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。
输出格式
按从小到大的顺序输出满足条件的四位十进制数。
心得:从左读和从右读都是一样的,说明需要两个变量并且彼此相等,一个正着遍历一个反着遍历。 遍历每一位数字从1-9
共有两种方法遍历:
① 利用×1000 、x100 、x10 、x1 来获取这个四位数,然后利用==来判断
public class Main {
public static void main(String[] args) {
for (int i=1;i<10;i++){
for (int j=0;j<10;j++){
for (int k=0;k<10;k++){
for (int m=1;m<10;m++){
int a=i*1000+j*100+k*10+m;
int b=m*1000+k*100+j*10+i;
if (a==b){
System.out.println(a);
}
}
}
}
}
}
}
② 利用 String类型的字符串拼接而成,然后利用equals方法判断
public class Main {
public static void main(String[] args) {
for (int i=1;i<10;i++){
for (int j=0;j<10;j++){
for (int k=0;k<10;k++){
for (int m=1;m<10;m++){
//将int型替换为String型
String a=""+i+j+k+m; //这里不知为何要填加一个空串
String b=""+m+k+j+i;
if (a.equals(b)){
System.out.println(a);
}
}
}
}
}
}
}