【发布时间】:2017-11-22 07:36:00
【问题描述】:
所以有人问我这个问题,我只能解决代码的顶部,我被困在底部。
编写一个名为
EmptyDiamond.java的Java 程序,其中包含一个方法,该方法采用整数n并在2n − 1行上打印一个空菱形,如下所示。示例输出 wheren = 3:1 2 2 3 3 2 2 1
到目前为止,这是我的代码:
public static void shape(int n) {
//TOP PART
for (int i = 1; i <= (n - 1); i++) {
System.out.print(" ");
}
System.out.println(1);
for (int i = 2; i <= n; i++) {
for (int j = 1; j <= (n - i); j++) {
System.out.print(" ");
}
System.out.print(i);
for (int j = 1; j <= 2 * i - n + 1; j++) {
System.out.print(" ");
}
System.out.println(i);
}
//BOTTOM PART (The messed up part)
for (int i = n + 1; i <= 2 * n - 2; i++) {
for (int j = 1; j <= n - i; j++) {
System.out.print(" ");
}
System.out.print(i);
for (int j = 1; j <= n; j++) {
System.out.print(" ");
}
System.out.print(i);
}
for (int i = 1; i <= (n - 1); i++) {
System.out.print(" ");
}
System.out.println(1);
}
public static void main(String[] args) {
shape(4);
}
【问题讨论】: