Deine Code sieht schon gut aus, es funktioniert fast alles. Deine Ausgabe der Folgeglieder ist noch nicht ganz richtig. Er sollte durch Kommata getrennt werden. Außerdem sollte der Nutzer seine Zahl in die Konsole eingeben können. Das habe ich noch hinzugefügt und den Code etwas lesbarer gemacht: (Du musst die Klasse natürlich wieder umbennen in Collatz.java). Jetzt ist deine Aufgabe erfüllt:
import java.util.Scanner;
public class Main {
public static void collatz(int n) {
System.out.print(n + ",");
if (n == 1) {
return;
} else if (n < 0) System.out.println("n muss nicht kleiner als 0 sein!");
else if (n % 2 == 0) {
collatz(n / 2);
} else {
collatz(3 * n + 1);
}
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); //Eingabe per Konsole
System.out.println("Zahl eingeben");
int n = scanner.nextInt(); //Eingabe wird in n gespeichert
collatz(n);
}
}