java while和for循环困境

时间:2015-03-16 23:57:16

标签: java

我正在研究这个例子,我似乎无法弄清楚我做错了什么。

public class NestedLoop {
    public static void main(String[] args) {
        int userNum = 0;
        int i = 0;
        int j = 0;

        while (j <= userNum) {
            System.out.println(j);
            ++j;
            for (i = j; i <= userNum; ++i) {
                System.out.print(" ");
            }
        }
        return;
    }
}

结果如下。你可以看到我的结果是落后的,我不确定我做错了什么。我试图改变周围的变量,我没有得到任何地方。任何帮助都会非常感激。

Expected output:
0
 1
  2
   3
Your output:
0
   1
  2
 3

由于

2 个答案:

答案 0 :(得分:1)

在内部循环中,您要打印j空格,然后打j

while (j <= userNum) {
    for (i = 1; i <= j; ++i) {
        System.out.print(" ");
    }
    System.out.println(j);
    ++j;
}

答案 1 :(得分:0)

您正在使用userNum递增哪个错误,并在空格返回后递增j++。您也可以删除return语句。

更正后的代码:

public class NestedLoop {
    public static void main(String[] args) {
        int userNum = 3;
        int i = 0;
        int j = 0;

        while (j <= userNum) {
            System.out.println(j);
            for (i = 0 ; i <= j; ++i) {
                System.out.print(" ");
            }
            ++j;
        }
    }
}