如何反转通用For循环

时间:2018-12-01 18:35:16

标签: java for-loop nested-loops

如何反转并打印循环?我第一部分做对了,但是我似乎无法弄清楚第二部分。哪个要反转并打印。

public static void main(String[] args) {
    for (int i = 10; i >= 1; i--) {
        for (int j = 10; j >= i; j--) {
            if (j % 2 == 0) {
                System.out.print("*");
            } else {
                System.out.print("-");
            }          
        }
        System.out.println();
    }
}

此代码将打印第一部分。如何从下至上(反向)开始然后以相同方式打印?

非常感谢,

编辑:

到目前为止,我编写的代码将输出以下输出:

*
*-
*-*
*-*-
*-*-*
*-*-*-
*-*-*-*
*-*-*-*-
*-*-*-*-*
*-*-*-*-*-

预期的输出是反转并打印,这是此输出。

*
*-
*-*
*-*-
*-*-*
*-*-*-
*-*-*-*
*-*-*-*-
*-*-*-*-*
*-*-*-*-*-
*-*-*-*-*
*-*-*-*-
*-*-*-*
*-*-*-
*-*-*
*-*-
*-*
*-
*

1 个答案:

答案 0 :(得分:0)

根据提供的结果,您需要更新第一循环和第二循环。拳头循环应从9开始,因为您已经在上一部分中打印了中线。第二个循环应迭代到第一个循环的计数器以实现除以下内容之外的内容:

public static void main(String[] args) {
    for (int i = 10; i >= 1; i--) {
        for (int j = 10; j >= i; j--) {
            if (j % 2 == 0) {
                System.out.print("*");
            } else {
                System.out.print("-");
            }
        }
        System.out.println();
    }

    for (int i = 9; i >= 0; i--) {
        for (int j = 0; j < i; j++) {
            if (j % 2 == 0) {
                System.out.print("*");
            } else {
                System.out.print("-");
            }
        }
        System.out.println();
    }
}

结果输出:

*
*-
*-*
*-*-
*-*-*
*-*-*-
*-*-*-*
*-*-*-*-
*-*-*-*-*
*-*-*-*-*-
*-*-*-*-*
*-*-*-*-
*-*-*-*
*-*-*-
*-*-*
*-*-
*-*
*-
*