Java嵌套For循环冗余

时间:2013-09-20 04:25:33

标签: java nested-loops redundancy

我在我的一本书中做了一个练习来获得这个输出。我们应该使用嵌套循环和基本java。我无法在此处格式化输出,但下面的代码会生成正确的输出。我得到它打印正确的输出,但我觉得它是非常多余的,主要是关于*和空格的循环,如果你有一个更好的方法这样做请分享!

private static void printDesign(){
    int astrickStopper = 1;
    int slashStopper = 1;
    for (int lines = 1; lines <= 7; lines++) {
        for (int firstAstrick = 6; firstAstrick >= astrickStopper; firstAstrick--) {
            System.out.print("*");
        }
        for (int spaces = 1; spaces <= slashStopper; spaces++) {
            System.out.print(" ");
        }
        for (int forwardSlash = 6; forwardSlash >= slashStopper; forwardSlash--) {
            System.out.print("//");
        }
        for (int backSlash = 1; backSlash < slashStopper ; backSlash++) {
            System.out.print("\\\\");
        }
        for (int spaces = 1; spaces <= slashStopper; spaces++) {
            System.out.print(" ");
        }
        for (int secondAstrick = 6; secondAstrick >= astrickStopper; secondAstrick--) {
            System.out.print("*");
        }
        astrickStopper = astrickStopper + 1;
        slashStopper = slashStopper + 1;
        System.out.println();
    }
}

1 个答案:

答案 0 :(得分:0)

您编写的代码似乎符合问题描述。你可以将内循环移动到一个函数中,该函数输出给定的字符序列一定次数,然后你只需要调用函数6次而不是有6个内循环。

public void printChars(int count, String chars) {
    for (int i = 0; i < count; i++) {
        System.out.print(chars);
    }
}