将循环输出转换为数组

时间:2012-02-12 04:38:55

标签: java

将循环输出转换为数组时出现问题。我正在将小数转换为二进制形式,但我希望它从左到右而不是在垂直线上打印出来。我假设有一种方法可以将循环输出添加到数组1中。 我的代码来自程序snipet:

    if (choice == 2)//convert decimal to binary
    {
        System.out.println("Enter a decimal digit between -512 and 511 to convert to binary.");
        decimal = keyboard.nextInt();
        decimal2 = decimal;
        while(decimal > 0){

            decimal2 = decimal % 2;
            decimal = decimal /2;
            System.out.println(decimal2);


        }

    }

感谢您的帮助!

4 个答案:

答案 0 :(得分:1)

您可以使用字符串连接余数值。

String ans="";
循环内的

decimal2 = decimal % 2;
decimal = decimal /2;
ans = decimal1+ans;
在你打印的循环外面

System.out.println(ans);

答案 1 :(得分:0)

您可以使用System.out.print(decimal2)代替println(),它会插入换行符。

答案 2 :(得分:0)

只要有可能,您应该使用内置的Java方法,因为它们通常比您编写的任何内容都更可靠:

您可以使用Integer.toBinaryString()轻松转换为十进制到二进制:

示例:

//read from STDIN
decimal = keyboard.nextInt();

//Converts decimal to a binary representation in String format
String bitString = Integer.toBinaryString(decimal);

//print result to STDOUT
System.out.println(bitString);

注意:这样做的另一个好处是二进制数的所有数字都是并排的。我相信这是你最初的目标。

答案 3 :(得分:0)

编写Java程序时使用Java conventions ...

if (choice == 2)//convert decimal to binary {
    System.out.println("Enter a decimal digit between -512 and 511 to convert to binary.");
    decimal = keyboard.nextInt();

    System.out.print("Binary number is ");
    while(decimal > 0) {
        System.out.print(decimal % 2);
        decimal = decimal / 2;
    }
}

注意:

如果您不需要像上面那样写,也可以在下面使用

System.out.println("Binary of number is : " + Integer.toBinaryString(keyboard.nextInt()));

祝你好运!!!