回文数JAVA(蓝桥杯训练)

问题描述

  1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。

输出格式

  按从小到大的顺序输出满足条件的四位十进制数。

这个题,我最先想到的就是之前的题里学到的,求出每一位的数字,然后,判断。(好吧,这也是我最后采取的方式)

但我觉得,还是要遵循老路子,先从网上学习一些新方法。于是我看到了不少。

先放上我的代码:

public class huiwenNum { public static void main(String args[]){ for (int i=1000;i<10000;i++){ int ge=i/1000; int shi=i%1000/100; int bai=i%100/10; int qian=i%10; int a=qian*1000+bai*100+shi*10+ge; if (a==i){ System.out.println(i); } } } }

再看看其他的方法。就是转换成字符串进行判断。这就涉及到几个新技能。代码中介绍

public class huiwenNum { public static void main(String args[]){ String a; for (int i=1000;i<10000;i++){ a=String.valueOf(i); #字符串转数字 Integer.valueOf("12")

#数字转字符串 String.valueOf(12) StringBuilder b=new StringBuilder(a); #这里要把String转变为StringBuilder,不然不能用下一句的reverse b.reverse(); String c=new String(b); #这里就是再把StringBuilder转换成String if (a.equals(c)){ #字符串的对等对比要用equals,==是用来判断数字的 System.out.println(i); #相同的字符串,如果用==,结果也是FALSE } } } }

第二个编程,学到好多新知识,新技能。

1.字符串与数字的转变 2.String是不能变换的 3.字符串对比要用equals,==只能用来对比数字

经验分享 程序员 微信小程序 职场和发展