我有一个练习,必须打印圣诞树。
public class ChristmasTree {
public static void main(String[] args) {
int size = 6;
printChristmasTree(size);
}
public static void printChristmasTree(int size) {
for (int i = 0; i < size; i++) {
for (int j = 0; j < size - i; j++) {
System.out.print(" ");
}
for (int j = 0; j < (2 * i + 1); j++) {
System.out.print("*");
}
System.out.println();
}
for (int k = 0; k < 1; k++) {
System.out.print("**");
System.out.println();
}
System.out.println();
}
}
我得到的是:
*
***
*****
*******
*********
***********
**
我该如何解决?我应该如何更改此循环以将树干移动到树的中心?
答案 0 :(得分:1)
更改
for (int k = 0; k < 1; k++) {
System.out.print("**");
System.out.println();
}
到
for (int k = 0; k < size; k++) {
System.out.print(" ");
}
System.out.print("**");
您需要循环以从尺寸中查找空格数,并将其相应地放置。调整循环变量k(如果略有偏离)。
答案 1 :(得分:0)
您说圣诞节树,所以我猜想您希望树干位于不同的行中。如果您想要的是这里的代码:
for (int k = 0; k < 2; k++) {
for (int l = 0; l <= size; l++) {
if (l != size)
System.out.print(" ");
else
System.out.println("*");
}
System.out.println();
}
如果您要在同一行中,您就是:
for (int l = 0; l <= size; l++) {
if (l != size)
System.out.print(" ");
else
System.out.print("**");
}
System.out.println();