Java中的for循环输出错误

时间:2011-03-25 03:57:27

标签: java for-loop computer-science

这是我使用for循环

编写的简单程序
public class Test
{
    public static void main (String[] args)
    {

        int high=10;

        for( int low =0; low <=high; low++){

            for (int mid=0; mid<=high; mid++)
            {
                System.out.print(mid);

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

但我希望输出看起来像

0 1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10

2 3 4 5 6 7 8 9 10

etc...

10

相反,我的输出看起来像012345678910012345678910012345678910012345678910012345678910012345678910012345678910012345678910012345678910012345678910012345678910

我做错了什么?

8 个答案:

答案 0 :(得分:4)

你不打印任何空格。

System.out.print(mid + " ");

编辑:

此外,您每次通过内部循环开始mid 0,而不是在low开始。

答案 1 :(得分:2)

System.out.print(mid + " ");

System.out.println(" ");

应该修复你。

编辑:哦......好吧,那个和:

for (int mid = low; mid<=high; mid++)

答案 2 :(得分:1)

您可能希望将空格连接到System.out调用。

System.out.print( mid + " " );

答案 3 :(得分:1)

在内循环中设置mid = low。

答案 4 :(得分:1)

你想设置mid = low,并打印其他人注意到的空格:

int high=10;

for( int low =0; low <=high; low++)
    for (int mid=low; mid<=high; mid++)
    {
        System.out.print("%d ", mid);

    }
    System.out.println();
 }

编辑:删除了虚假的\ n。

答案 5 :(得分:1)

以下代码将执行

int high = 10;
    for (int low = 1; low <= high; low++) {
        for (int mid = low; mid <= high; mid++) {
            System.out.print(mid + " ");
        }
        System.out.println();
    }
}

答案 6 :(得分:1)

我希望这能让你得到你想要的东西:

public class Test
{
    public static void main (String[] args)
    {

    int high=10;

    for( int low =0; low <=high; low++)
    {
        for (int mid=low; mid<=high; mid++) //start from low not 0
        {
            System.out.print(mid+" ");

        }
        System.out.println();

    }
    }
}

答案 7 :(得分:0)

试试这个

public class Test {
    public static void main (String[] args) {

    int high=10;

    for( int low =0; low<=high; low++) {

        for (int mid=low; mid<=high; mid++) {
            System.out.print(mid + " " );

        }

        System.out.println();
    }
  }
}