Hallo zusammen, ich habe folgenden Code:
import java.util.Scanner;
import java.awt.Color;
public class Weihnachtsbaum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the height of the Christmas tree (1-20): ");
int treeHeight = scanner.nextInt();
if (treeHeight < 1 || treeHeight > 20) {
System.out.println("Invalid input. The height of the tree must be between 1 and 20.");
} else {
drawChristmasTree(treeHeight);
}
scanner.close();
}
private static void drawChristmasTree(int height) {
drawFrame(height);
for (int i = 0; i < height; i++) {
for (int j = 0; j < height - i - 1; j++) {
System.out.print(" ");
}
if (i == 0) {
System.out.print("|");
} else {
System.out.print("|");
}
for (int k = 0; k < 2 * i; k++) {
System.out.print("/\\");
}
System.out.println("|");
}
for (int i = 0; i < height / 3; i++) {
for (int j = 0; j < height - 1; j++) {
System.out.print(" ");
}
System.out.println("||");
}
drawFrame(height);
}
private static void drawFrame(int width) {
System.out.print("+");
for (int i = 0; i < width * 2 + 3; i++) {
System.out.print("-");
}
System.out.println("+");
}
}
Die Ausgabe vom Programm sieht folgend aus:
Enter the height of the Christmas tree (1-20): 5

so möchte ich es allerdings haben, auch mit dem Rahmen:

Fragestellung:
Wie bekomme ich den Rahmen (Seitenränder) so hin?
Wie bekomme ich den Tannenbaum von 1 auf 2 auf 3 auf 4 und nicht wie bei mir von 0 auf 2 auf 4 auf 6 auf 8?
Wie bekomme ich die Spitze hin und zudem mit der Färbung?
Vielen Dank im Voraus<3
LG Lea
import java.util.Scanner;
import java.awt.Color;
public class Weihnachtsbaum {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the height of the Christmas tree (1-20): ");
int treeHeight = scanner.nextInt();
if (treeHeight < 1 || treeHeight > 20) {
System.out.println("Invalid input. The height of the tree must be between 1 and 20.");
} else {
drawChristmasTree(treeHeight);
}
scanner.close();
}
private static void drawChristmasTree(int height) {
drawFrame(height);
for (int i = 0; i < height; i++) {
for (int j = 0; j < height - i - 1; j++) {
System.out.print(" ");
}
if (i == 0) {
System.out.print("|");
} else {
System.out.print("|");
}
for (int k = 0; k < 2 * i; k++) {
System.out.print("/\\");
}
System.out.println("|");
}
for (int i = 0; i < height / 3; i++) {
for (int j = 0; j < height - 1; j++) {
System.out.print(" ");
}
System.out.println("||");
}
drawFrame(height);
}
private static void drawFrame(int width) {
System.out.print("+");
for (int i = 0; i < width * 2 + 3; i++) {
System.out.print("-");
}
System.out.println("+");
}
}
Die Ausgabe vom Programm sieht folgend aus:
Enter the height of the Christmas tree (1-20): 5

so möchte ich es allerdings haben, auch mit dem Rahmen:

Fragestellung:
Wie bekomme ich den Rahmen (Seitenränder) so hin?
Wie bekomme ich den Tannenbaum von 1 auf 2 auf 3 auf 4 und nicht wie bei mir von 0 auf 2 auf 4 auf 6 auf 8?
Wie bekomme ich die Spitze hin und zudem mit der Färbung?
Vielen Dank im Voraus<3
LG Lea