Java 整数到基数16的转换

Java 整数到基数16的转换,java,base,Java,Base,到目前为止,我有一个方法可以将不同的基数转换为2,8,但我似乎不知道如何做16。关于16,当它达到9时,它应该打印出如下字母: 0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 但如果我在处理ints,我很难理解如何得到这个答案。我们不允许使用任何数组 public static void conversion(int integer, int base) { if (integer > 0 && base > 0) { Syst

到目前为止,我有一个方法可以将不同的基数转换为2,8,但我似乎不知道如何做16。关于16,当它达到9时,它应该打印出如下字母:

0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F

但如果我在处理ints,我很难理解如何得到这个答案。我们不允许使用任何数组

public static void conversion(int integer, int base) {
    if (integer > 0 && base > 0) {
        System.out.println(integer + " in binary -> "+ Integer.toString(integer, base));
    }
}

<>而不是使用PrtLn,考虑使用格式。这将允许您保留该值,但以您能够格式化的任何方式显示该值

例如:

System.out.format("The number as Base 16 is %x", x);

我希望这能回答你的问题。如果没有,请在下面评论

上述方法似乎是正确的。虽然你也可以使用

Integer.valueOf(String.valueOf(n), 16);

你的方法很好用

如果这是您的主要问题,您可以将输出字符串更改为大写:

public static void conversion(int integer, int base) 
    {
    if (integer > 0 && base > 0) {
        System.out.println(integer + " in binary -> "+ (Integer.toString(integer, base)).toUpperCase());
    }
}

那是你尝试过的代码吗?它做什么?基本上用户输入一个整数和一个基数,比如100和2。然后它将正确输出二进制文件。16的问题是,如果我输入任何数字,它应该有一个或多个ABCDEF来替换数字的最后几位。我很难弄明白,但这里有一个链接可以解释转换,如果它有帮助的话:不,我理解十六进制,我不理解的是你的问题是什么。看起来您已经有了工作代码,它本质上只是Integer的toString方法的包装器,该方法已经很好地工作了。您是否为基数输入了16?例如:
System.out.println(Integer.toString(255,16))打印
ff
谢谢!我真的很感谢你对我的耐心。这将简单地打印出号码。如果值为9,则将打印“9”。Op想要打印带特定基数的值。@Kao
9
十进制是
9
十六进制:P