判断一个五位数是不是回文数

本文提供两种方法来判断一个数是否为回文数:一种专门针对五位数,通过逐位对比实现;另一种适用于任意长度的数字,采用字符串处理技术进行前后对比。这两种方法各有优缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法一:只限于五位数,而且笨

//判断一个五位数是否为回文数(万位与各位相等,千位与十位相等 如:12321)
 public static void main(String[] args){
    System.out.println("请输入一个数:");
        Scanner scanner = new Scanner(System.in);
        int num = scanner.nextInt();
        int wan = num/10000; 
        int qian = num/1000 -wan*10;
        int bai = num/100 - wan*100 - qian*10;
        int shi = num/10 - wan*1000 - qian*100-bai*10;
        int ge =  num - wan*10000 - qian*1000 - bai*100 - shi*10;
        if(wan == ge && qian == shi){
            System.out.println("该数是回文数!");
        }
        else{
            System.out.println("该数不是回文数!");
        }
 }

//double类型转换为int类型不需要强制转换如:

int a = 12321/10000;

a的值为1,不为1.2321

转为int型,把小数部位截断

int num = scanner.nextInt();后可以加上:

if(num >99999 || num<10000){

   System.out.println("非法的输入!")

   return;

方法二:不限位数

public static void main(String[] args){

    System.out.println("请输入一个整数");
            Scanner scanner = new Scanner(System.in);
            String string = scanner.next();      //直接作为字符串输入,也可以输入Int型,用toString()方法转换成String类型
            char[] numArray = string.toCharArray();    //把字符串转换为字符数组。
            boolean isHuiWen = true;      //初始直接假定为是回文数
            for(int i=0; i<numArray.length; i++){
                if(numArray[i] != numArray[numArray.length-1-i]){    第i个数与第(numArray.length-1-i)个数比较是否相等
                    isHuiWen = false;
                    break;    //不相等,直接退出
                }
            }
            if(isHuiWen){
                System.out.println("该数是回文数");
            }
           else{
                System.out.println("该数不是回文数");
            }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值