在嵌套for循环中苦苦挣扎

时间:2014-11-14 16:34:28

标签: java loops nested

好吧,我是新手来嵌套for循环而且我在理解它们时遇到了一些问题。我读了很多指南,但我还是不完全明白。

提示:

为生成以下输出的循环编写嵌套:

000111222333444555666777888999 000111222333444555666777888999 000111222333444555666777888999

到目前为止我有什么

for(int num2 = 0; num2 <= 9;  num2++) {

      for(int num1 = 0; num1 <= 2; num1++) {

            System.out.println(num2 + " " + num2 + " " + num2);
      }
}      

输出

0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9

我做错了什么?

6 个答案:

答案 0 :(得分:3)

每个号码都有3份副本。

外圈:

for (int i = 0; i < 10; i++) {

选择要打印的号码,这样就可以了。

然而,内循环将j与所选数字进行比较。您需要3份,而不是可变份数。此更改将生成3份副本:

for (int j = 0; j < 3; j++) {

你也不需要这个:

System.out.println(i);
编辑:我刚注意到你需要其中3个输出。

添加外循环:

for (int x = 0; x < 3; x++) {

和一个空格

System.out.println(" ");

所以最终的结果应该是:

for (int x = 0; x < 3; j++) {
    for (int i = 0; i < 10; i++) {
        for (int j = 0; j < 3; j++) {
            System.out.print(i);
        }
    }
    System.out.println(" ");
}

答案 1 :(得分:1)

for (int i = 0; i < 3; i++) {
        for (int j = 0; j < 10; j++) {
            System.out.print(j + "" + j + "" + j);
        }
        System.out.println();
    }

答案 2 :(得分:0)

在您提供的计划中,会发生以下事件: -

  1. 在第一个循环变量i中启动,检查循环条件,然后在条件为真时移动到第二个循环。
  2. 现在第二个循环遍历j的值,直到条件为假,然后控制返回到第一个循环。
  3. 尝试按照循环的工作,你可以看到自己错在哪里。

答案 3 :(得分:0)

试试这个:

for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 10; j++) {
        for (int k = 0; k < 3; k++) {
            System.out.print(j);
        }
    }
    System.out.println("");
}
  • 循环1:你想要序列3次,每次出现都在它自己的行上。
  • 循环2:您希望序列上升数字0到9。
  • 循环3:您希望序列连续3次拥有每个数字。

答案 4 :(得分:-1)

for (int k = 0; k<3, k++){
    for (int i = 0; i< 10; i++) {
        for (int j = 0; j <  3;j++) {

            System.out.println(i);   
        }
        }
        System.out.println("")};

    }
    }

答案 5 :(得分:-1)

for(int k=0;k<3;k++) {  
   for (int i = 0; i< 10; i++) {
       for (int j = 0; j <  3;j++) {
            System.out.println(i);   
        }
    }
}

虽然我是这里迄今为止最缺乏经验的人,但我认为这应该给出你正在寻找的确切输出。