我在我的一本书中做了一个练习来获得这个输出。我们应该使用嵌套循环和基本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();
}
}
答案 0 :(得分:0)
您编写的代码似乎符合问题描述。你可以将内循环移动到一个函数中,该函数输出给定的字符序列一定次数,然后你只需要调用函数6次而不是有6个内循环。
public void printChars(int count, String chars) {
for (int i = 0; i < count; i++) {
System.out.print(chars);
}
}