?
package 考试;
public class HuiWenShu{
?? ?
public static void main(String[]args) {
?? ? for(int i=1;i<1000;i++) {
?? ??? ? String a=String.valueOf(i);
?? ??? ? StringBuffer b=new StringBuffer(a);
? ? ? ? ? ?b.reverse();
?? ??? ? if(a.equals(b.toString())){
?? ??? ??? ? System.out.print(i+" ? ");
?? ??? ? }
?? ? }
}
}
????????这个代码并不复杂,要想知道1000以内的数字有哪些是回文数,通过遍历的方法来将每一个数字重新输出,并且比较二者是否相同即可。
这其中用到的是?String.valueOf()方法的使用。利用String.valueOf(int i)?: 将 int 变量 i 转换成字符串,然后通过?StringBuffer b=new StringBuffer(a);来创建一个对象存放刚才转换成的字符串,(当对字符串进行修改的时候,特别是字符串对象经常改变的情况下,需要使用?StringBuffer 和 StringBuilder 类。)之后我们可以利用StringBuffer中的reverse方法来使得字符串进行倒叙,最后利用比较字符串是否完全一致的equals方法进行二者的比较即可。
注意:在进行比较的时候,由于StringBuffer的对象不能直接与String类的对象相比较,需要进行使用toString()方法,从而转化成String类,使得二者可以进行比较,从而得出最后结果。
|