Hey Community,
ich bin zwar schon etwas weiter mit Java, habe mir aber trotzdem noch einmal die Rekursion durchgelesen, da ich nicht wusste, wofür man das gebrauchen könnte.
Folgendes Programm:
Gibt keine Fehler aus, läuft alles wie geplant
Folgendes Programm aber gibt mir zu unterschiedlichen Zeiten abwechselnd richtige Werte und wieder Exceptions aus:
Fehler:
Hilfe
grüße coco07!
ich bin zwar schon etwas weiter mit Java, habe mir aber trotzdem noch einmal die Rekursion durchgelesen, da ich nicht wusste, wofür man das gebrauchen könnte.
Folgendes Programm:
Java:
public class Main{
public static int zaehler = 0;
public static void main(String[] args){
rekursion();
}
public static final void rekursion(){
if(zaehler != 10){
System.out.println("Die Klassenvariable zaehler ist noch keine 10: " + Main.zaehler);
Main.zaehler++;
rekursion();
} else {
System.out.println("Die Klassenvariable zaehler ist nun 10: " + Main.zaehler);
}
}
}
Gibt keine Fehler aus, läuft alles wie geplant
Folgendes Programm aber gibt mir zu unterschiedlichen Zeiten abwechselnd richtige Werte und wieder Exceptions aus:
Java:
// Leerzeile
public class Main{
public static int zaehler = 0;
public static void main(String[] args){
rekursion();
}
public static final void rekursion(){
if(zaehler != 125000){
System.out.println("Die Klassenvariable zaehler ist noch keine 125000: " + Main.zaehler);
Main.zaehler++;
rekursion();
} else {
System.out.println("Die Klassenvariable zaehler ist nun 125000: " + Main.zaehler);
}
}
}
Fehler:
Java:
Die Klassenvariable zaehler ist noch keine 10: 11899
Die Klassenvariable zaehler ist noch keine 10: 11900
Die Klassenvariable zaehler ist noch keine 10: 11901
Die Klassenvariable zaehler ist noch keine 10: 11902
Die Klassenvariable zaehler ist noch keine 10: 11903
Die Klassenvariable zaehler ist noch keine 10: 11904
Exception in thread "main" java.lang.StackOverflowError
at sun.nio.cs.SingleByteEncoder.encodeLoop(SingleByteEncoder.java:130)
at java.nio.charset.CharsetEncoder.encode(CharsetEncoder.java:544)
at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:252)
at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:106)
at java.io.OutputStreamWriter.write(OutputStreamWriter.java:190)
at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111)
at java.io.PrintStream.write(PrintStream.java:476)
at java.io.PrintStream.print(PrintStream.java:619)
at java.io.PrintStream.println(PrintStream.java:756)
at Main.rekursion(Main.java:12)
at Main.rekursion(Main.java:14)
at Main.rekursion(Main.java:14)
at Main.rekursion(Main.java:14)
at Main.rekursion(Main.java:14)
at Main.rekursion(Main.java:14)
Hilfe
grüße coco07!
Zuletzt bearbeitet: