我的java学习-数字的倒置

今天看到个题目,说是检查一个数字和它的倒置数字是否相等,也就是一个数字是不是回文,像是12321,前后颠倒也是等于自己。开始想到的是用除余法,得到每个数位上的数字后再倒置过来,后来想到,对于数字的位数未知的情况下怎么做,或者说对于位数不同的情况下,有没有简单的方法可以做到倒置。
各种找资料,看到java里面有提到,String类里面有方法,将数字转化成字符串,这样就简单点了。
字符串可以读取到每个位置上的字符,可以用数组保存,就能做到简单又方便的倒置数字,尽管数字的位数是未知的,不影响操作。

    public boolean isPalindromic(int n){
        String old = String.valueOf(n);     //从原来的数字里得到字符串old 
        char[] c = new char[old.length()];
        char[] c2 = new char[old.length()];
        for(int i = 0; i < old.length(); i ++){  //利用字符数组得到单个字符
            c[i] = old.charAt(i);
        }
        for(int i = c.length - 1; i >= 0; i --){  //利用c2数组得到倒置后的字符
            c2[c.length - i -1] = c[i];
        }
        String now = String.valueOf(c2);  //将倒置后的字符转化为字符串
        return old.equals(now);  //比较字符串,如果倒置后与之前是相当返回true
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值