描述:
回文数是正着读与倒着读都一样的数,比如1221,343是回文数,433不是回文数。
输入描述:
输入一个整数n(1 <= n <= 100000)
输出描述:
从1开始按从小到大的顺序输出所有回文数
分析
用两种方法实现了对回文的判断
1.将 int 类型的变量 转换为 String 类型进行比较
2.直接运算将 int 类型的数字 颠倒 过来,直接进行比较
其中用到的方法:
static String valueOf(Object obj) : 返回 Object 参数的字符串表示形式。
利用 valueOf()方法,将整型参数转换成字符串
利用charAt() 方法,获取到字符串中的单个字符
利用字符串的拼接,然后对比字符串
代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
// 1.数字转换成字符串,字符串转成字符进行比较
// for (int i = 1; i <= n; i++) {
// // 判断是否为回文数
// //static String valueOf(Object obj)
// // 返回 Object 参数的字符串表示形式。
// String s = String.valueOf(i);//返回 int 类型的字符串表示形式
// String result = "";
// // 将字符串到职
// for (int j = s.length() - 1; j >= 0; j--) {
// result += s.charAt(j);
// }
// //对字符串进行比较
// if (result.equals(s)){
// System.out.println(i);
// }
// }
// 2.数字转换成数组进行比较
for(int i = 1; i <= n; i++){
int t = 0;
int num =i;
while(num > 0){
t = t*10 + num%10;
num = num / 10;
}
if(t == i){
System.out.println(i);
}
}
}
}