回文数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,==只能用来对比数字

 

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值