到目前为止,我有一个方法可以转换为不同的基础到2,8,但我似乎无法弄清楚怎么做16.关于16的事情是当它达到9时,它应该打印出类似的字母:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
但是如果我正在处理这些问题,我很难理解如何得到这个答案。我们不允许使用任何数组。
public static void conversion(int integer, int base) {
if (integer > 0 && base > 0) {
System.out.println(integer + " in binary -> "+ Integer.toString(integer, base));
}
}
答案 0 :(得分:1)
请考虑使用格式,而不是使用println。这样您就可以保留该值,但可以以您能够格式化的方式显示该值。
例如:
System.out.format("The number as Base 16 is %x", x);
我希望这能回答你的问题。如果没有,请在下面评论!
答案 1 :(得分:0)
上述方法似乎是正确的。虽然你也可以使用
Integer.valueOf(String.valueOf(n), 16);
答案 2 :(得分:0)
你的方法运行正常。
如果这是您的主要问题,您可以将输出字符串更改为大写:
public static void conversion(int integer, int base)
{
if (integer > 0 && base > 0) {
System.out.println(integer + " in binary -> "+ (Integer.toString(integer, base)).toUpperCase());
}
}