我错过了一点点。我想要什么:
*******
*****
***
*
***
*****
*******
我得到了什么
*******
*****
***
*
*
***
*****
*******
代码
public class HD404 {
public static void main(String[] args) {
int N = StdIn.readInt();
int x = N*2-1;
for (int i = 0; i < N; i++) {
for (int j = i; j > 0; j--) {
StdOut.print(" ");
}
for (int k = 0; k < x; k++) {
StdOut.print("*");
}
x-=2;
StdOut.println();
}
x = 1;
for (int i = 0; i < N; i++) {
for (int j = i; j < N-1; j++) {
StdOut.print(" ");
}
for (int k = 0; k < x; k++) {
StdOut.print("*");
}
x += 2;
StdOut.println();
}
}
}
现在我主要是在猜测,我无法指出我的错误。我在这里缺少什么?
最佳答案
问题出在代码的第二部分,您要求绘制一颗星,而您从零开始,而您应该从一开始。
解决方案
x = 1;
for (int i = 0; i < N; i++)
应替换为
x = 3;
for (int i = 1; i < N; i++)
关于Java - 沙漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34109810/