Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用嵌套循环打印二进制值_Java_Loops_Binary - Fatal编程技术网

Java 使用嵌套循环打印二进制值

Java 使用嵌套循环打印二进制值,java,loops,binary,Java,Loops,Binary,我需要编写一段代码,将二进制值输出到用户定义的数字(0-7)。 我们不能使用。要初始化,必须使用循环(最好是循环) 输出应该是三列,带有填充零 Ex)用户输入7 001 010 100 101 110 111 它似乎应该是如此简单,但我似乎无法正确理解它。for(inti=1;I=0;k--){ for (int i = 1; i <= input; i++) { String line = ""; for (int k = 2; k >= 0; k--) {

我需要编写一段代码,将二进制值输出到用户定义的数字(0-7)。 我们不能使用。要初始化,必须使用循环(最好是循环)

输出应该是三列,带有填充零
Ex)用户输入7

001
010
100
101
110
111

它似乎应该是如此简单,但我似乎无法正确理解它。

for(inti=1;I=0;k--){
for (int i = 1; i <= input; i++) {
    String line = "";

    for (int k = 2; k >= 0; k--) {
        line += ((i >> k) & 1) == 1 ? "1" : "0";
    }

    System.out.println(line);
}
行+=((i>>k)和1)==1?“1”:“0”; } 系统输出打印项次(行); }

它使用两个for循环。

我将创建您自己的toBinary()函数:

int toBinary(int x){
    StringBuilder sb = new StringBuilder("");
    while(x >= 1){
        sb.append(x%2);
        x /= 2;
    }
    return Integer.parseInt(sb.reverse().toString());
}
然后只需使用该功能打印:

for(int i=1; i<=7; i++)
    System.out.println( String.format("%03d", toBinary(i)) );

顺便说一句,for(int i=1;i
110
是7。你错过了3,
011
。不管怎样,到目前为止你尝试了什么?110是6。任何以0结尾的二进制都是偶数。我很笨。
011
仍然没有找到。