AQAQian_
2021-11-25 19:33
采纳率: 100%
浏览 8
已结题

为什么这个将十进制转化为十六进制的运行结果前面几位是重复的

问题相关代码,请勿粘贴截图
public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        String ret = "";
        String c = "";
        while (n != 0) {
            int b = n % 16;
            switch (b) {
                case 10: {
                    ret = "A";
                    break;
                }
                case 11: {
                    ret = "B";
                    break;
                }
                case 12: {
                    ret = "C";
                    break;
                }
                case 13: {
                    ret = "D";
                    break;
                }
                case 14: {
                    ret = "E";
                    break;
                }
                case 15: {
                    ret = "F";
                    break;
                }
                default: {
                     ret = "" + b;
                    break;
                }
            }
            n = n / 16;
            c = ret + c;
            System.out.print(c);
        }
    }
}

运行结果及报错内容

2789
5E5AE5
Process finished with exit code 0

  • 好问题 提建议
  • 收藏

2条回答 默认 最新

  • AQAQian_ 2021-11-25 20:15
    已采纳

    啊我想明白啦!
    最后输出的问题,不应该在while循环里打印,应该跳出来打印,否则就会重复

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • AQAQian_ 2021-11-25 20:16

    要学会调试,调试真的很重要!!!

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题