我正在尝试使用 java 反转 int,出于某种原因,当给定 0001234 时,我的程序以某种方式将其读取为 668 并返回 886

问题描述

public static int reverseInt(int x) {
        String t = Integer.toString(x);
        StringBuilder sb = new StringBuilder(t);       
        sb = sb.reverse();       
        String b = sb.toString();        
        x = Integer.valueOf(b);
        return x;
    }

是我的代码

        int x = 1234000;
        int b = 24230100;
        int g = 001234;
        int s = reverseInt(x);
        int q = reverseInt(b);
        int y = reverseInt(g);
        System.out.println("this is y:" + y);

是我的测试员。 g 是我需要反转的 int 值,但它被读取为 668。知道为什么吗? 添加打印语句进行测试时:

        String t = Integer.toString(x);
        System.out.println(x);
        StringBuilder sb = new StringBuilder(t);       
        sb = sb.reverse();       
        String b = sb.toString();   
        System.out.println(b);     
        x = Integer.valueOf(b);
        return x;
    }

我对 g 的初始打印是 668,第 7 行的打印返回 866

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)