调整菱形我写了一些代码,将打印钻石需要帮助Java中
static void printDiamond(int size) {
for (int i = 0; i < size; i++) {
for (int a = 0; a < (size - (i + 1)); a++) {
System.out.print(" ");
}
System.out.print("X");
for (int b = 0; b < (i * 2); b++) {
System.out.print(" ");
}
System.out.print("X");
System.out.println();
}
for (int i = size-1; i >= 0; i--) {
for (int a = 0; a < (size - (i + 1)); a++) {
System.out.print(" ");
}
System.out.print("X");
for (int b = 0; b < (i * 2); b++) {
System.out.print(" ");
}
System.out.print("X");
System.out.println();
}
}
我与钻石遇到的问题是,它会打印双不管是什么我输入。所以,如果用户要输入一个6钻石,它应该是这样的:
XX
X X
X X
X X
X X
XX
我的代码,如果用户输入5,它打印出以下几点:
XX
X X
X X
X X
X X
X X
X X
X X
X X
XX
而不是打印出5行,它打印出10个。如果我输入3,它将打印出6行而不是3个。看起来对于我的钻石来说,它正在输出它从用户接收到的数字,然后打印出来数量乘以2.有没有办法让我可以将方法输出的大小缩小一半,使其具有正确的行数?
你应该重新审视你的循环条件 - 特别是外循环。 – heuristicus
@ mike1319小小的建议。你不需要在你的问题中包含盒子代码或输出。如果问题更简洁,可以更好地收到问题。 –
@MichaelQuatrani感谢您的建议。我编辑代码的框部分,所以问题更简洁。 – sam1319