Mam za zadanie zrobić rekurencyjnie choinkę z gwiazdek, o podanej przez użytkownika podstawie. Ostatecznie liczba * w podstawie ma być wpisywana w pliku In.txt, na razie user wpisuje w terminalu. Bardziej martwi mnie to, że gdy chcę, aby choinka była rysowana w pliku, a nie w terminalu. Wychodzi tak:
zamiast:
Co robię źle?
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
public class Choinka {
public static void main(String[] args) throws FileNotFoundException {
File file = new File("In0101.txt");
PrintWriter zapis = new PrintWriter("Out0101.txt");
Scanner in = new Scanner(file);
System.out.println("Podaj liczbe gwiazdek w podstawie: ");
int podstawa = getInt();
int gora = podstawa % 2 == 0 ? 2 : 1;
for (int rzad = gora;
rzad <= podstawa;
rzad += 2) {
int liczbaSpacji = (podstawa - rzad) / 2;
for (int i = 0; i < liczbaSpacji + rzad; i++) {
System.out.print(i < liczbaSpacji ? " " : "*");
}
System.out.println();
}
zapis.close();
}
public static int getInt() {
return new Scanner(System.in).nextInt();
}
}