这些嵌套循环? Java的

时间:2013-09-18 05:07:20

标签: java loops nested-loops

这段代码是显示嵌套循环还是仅显示很多循环?它们都在第一个循环内部,但不在彼此内部。这是一个好习惯吗?

    for (int outputDigits = STARTING_NUMBER; outputDigits <= MAX_NUMBER; outputDigits = outputDigits + 2) {  // controls number output

        for (int innerDashes = dashIncrement; innerDashes <= DASHES; innerDashes++) {      // inner dashes
            System.out.print("-");
        }


            for (int digits = 1; digits <= outputDigits; digits++) {           // prints the number x amount of times
                System.out.print(outputDigits);
            }


                for (int outerDashes = dashIncrement; outerDashes <= DASHES; outerDashes++) {  // outer dashes
                    System.out.print("-");
                }
        System.out.println();
        dashIncrement++;
            }

5 个答案:

答案 0 :(得分:1)

它既是嵌套循环的组合,也是彼此循环的组合。代码看起来不易读。更好的方法是拥有一个名为printCharacters的私有函数,它将破折号字符作为输入和需要打印的时间

private void printString(String inputString, int count) {
for (int i=0;i<=count;i++ {
System.out.print(inputString);

} }

for (int outputDigits = STARTING_NUMBER; outputDigits <= MAX_NUMBER; outputDigits = outputDigits + 2) {  // controls number output

   printString("-",DASHES-dashIncrement);

        for (int digits = 1; digits <= outputDigits; digits++) {           // prints the number x amount of times
            System.out.print(outputDigits);
        }


           printString("-",DASHES-dashIncrement);
    System.out.println();
    dashIncrement++;
        }

答案 1 :(得分:1)

我不确定这里的问题是什么。这里有明显的嵌套循环,以及一个接一个的连续循环。好的做法?是的,如果您要解决的问题需要它,那么这样做是完全正常的。使用嵌套循环没有错;事实上,它们在很多很多算法中都是必需的。

答案 2 :(得分:0)

由于不正确的缩进,你感到困惑。内部三个for循环(innerDashes,digits和outerDashes)都嵌套在外部for循环(outputDigits)中,并且应该在同一个缩进处。这里只有一层筑巢。所有三个内部循环都处于相同的嵌套级别。

另外,我建议不要对仅包含一个需要循环的语句的for循环使用大括号{}。

答案 3 :(得分:0)

是的,你有一些嵌套在另一个循环中的循环。

至于它是否是好的做法,取决于。是否有意义?编程中没有普遍的事实(好吧,除了一些),所以你不能学习像“不要使用嵌套循环”这样的规则。

虽然查看您的代码,但使用“提取方法”重构将循环的破折号打印成单独的方法确实更易读。

答案 4 :(得分:0)

嵌套循环是这样的:

for(...){
    for(...){
         // Your code comes here.
    }
}

循环内的循环称为嵌套循环。您的代码完成此语句是的,这是嵌套循环的示例。

相关问题