Java圣诞树高级代码
时间: 2024-11-09 12:12:22 浏览: 11
在Java中创建圣诞树图案,通常我们会使用控制台打印字符的艺术形式。这里是一个简单的递归方法示例,用于生成ASCII艺术风格的圣诞树:
```java
public class ChristmasTree {
public static void main(String[] args) {
drawTree(5); // 可调整参数改变树的高度
}
public static void drawTree(int height) {
for (int i = 0; i < height; i++) {
System.out.println(drawRow(height, i));
}
}
private static String drawRow(int totalRows, int currentRow) {
if (currentRow == 0 || currentRow == totalRows - 1) {
return String.join("", repeat("*", 2 * totalRows - 1)); // 树干部分,全由星号组成
} else {
StringBuilder row = new StringBuilder();
for (int j = 0; j < totalRows - 2; j++) {
if (j >= currentRow) { // 左侧部分
row.append(" ");
} else { // 右侧部分
row.append("*");
}
row.append(repeat(" ", 2 * (totalRows - 2 - currentRow)));
row.append("*"); // 中间的竖线
}
return row.toString();
}
}
private static String repeat(String str, int times) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < times; i++) {
sb.append(str);
}
return sb.toString();
}
}
```
在这个代码里,`drawTree()`函数负责生成整个树,`drawRow()`则递归地处理每一行。`repeat()`方法用于重复字符串。
运行这个程序将输出一棵高度为5的ASCII圣诞树。如果你想更改树的高度,只需修改`drawTree()`函数的第一个参数即可。
阅读全文