【发布时间】:2021-12-22 12:42:20
【问题描述】:
问题是星星不会形成圣诞树,它们只是形成一个直角三角形。 如何解决? https://i.imgur.com/vKpxRhP.png https://i.imgur.com/eyuccNn.png
public static void main(String[] args) throws FileNotFoundException {
File file = new File("In0103.txt");
Scanner in = new Scanner(file);
int maxWidth = in.nextInt();
int initialWidth = 1;
int initialLevel = 1;
int maxLevel = (maxWidth + 1) / 2;
int freeSpace = maxLevel - 1;
printChristmasTree(initialWidth, initialLevel, maxLevel, freeSpace, null);
}
static void printChristmasTree(int width, int level, int maxLevel, int freeSpace, PrintWriter save) throws FileNotFoundException {
if (save == null) {
save = new PrintWriter("Out0103.txt");
}
if (level < maxLevel) {
save.println(Stream.generate(() -> " ").limit(freeSpace).collect(Collectors.joining()));
save.println(Stream.generate(() -> "*").limit(width).collect(Collectors.joining()));
save.println();
printChristmasTree(width = width + 2, ++level, maxLevel, --freeSpace, save);
} else {
save.println(Stream.generate(() -> " ").limit(freeSpace).collect(Collectors.joining()));
save.println(Stream.generate(() -> "*").limit(width).collect(Collectors.joining()));
save.close();
}
}
【问题讨论】:
-
赞成圣诞树出现在标题中