通过大量的试验和错误,我意识到k
不能增加到输出二进制的长度值。所以在这个代码的情况下,k
被设置为增加到小于4的一个,所以我只能测试8到15,因为它们的值在二进制中的长度不超过四个。将基数10转换为二进制
此外,值向后打印出来。任何想法如何解决这两个错误? 当我试图使用StringBuilder
时,注释行不起作用。
Scanner scan = new Scanner(System.in);
int num = 0;
int test = scan.nextInt();
//StringBuilder sb = new StringBuilder();
for(int i = 0; i < test ; i++) {
int a = scan.nextInt();
for(int k = 0; k < 4; k++)
{
num = a/2;
int remainder = a % 2;
//String noodle = Integer.toString(remainder);
a = num;
//sb.append(noodle);
//System.out.print(sb);
System.out.println(remainder);
}
}
重复从这里回答:http://stackoverflow.com/questions/16008685/base-10-to-base-2-8-16 -conversion-in-java –
问题是:“关于如何解决这两个错误的任何想法?”。这不是“是否还有一个库函数与我正在编写的用于学习Java的代码相同”。 –
@ErwinBolwidt,对不起,我忽略了。现在答案应该没问题。 – MASh