Hallo Leute
Ich hab letztens für das kommende Fachgespräch eine Aufgabe geübt, die rekursiv den Durchnitt eines Arrays berechnet. Ich hab ein Programm geschrieben, das genau nur einmal funktioniert. Wenn du z.B. {7,11,9,23,2} als Eingabe spezifizierst, gibt er mir 10,4 aus. Versuche ich aber ein zweites mal das Programm auszuführen, wirft er mir eine Exception aus.
Anscheinend liegt das daran, dass die Variablen Ergebnis und Zähler nicht zurückgesetzt werden. Sollte das eigentlich nicht immer automatisch geschehen?
PS.: Wenn jemand ein paar coole Aufgaben kennt, die rekursiv mit Arrays gelöst werden müssen kann er ja die mal posten.....
Ich hab letztens für das kommende Fachgespräch eine Aufgabe geübt, die rekursiv den Durchnitt eines Arrays berechnet. Ich hab ein Programm geschrieben, das genau nur einmal funktioniert. Wenn du z.B. {7,11,9,23,2} als Eingabe spezifizierst, gibt er mir 10,4 aus. Versuche ich aber ein zweites mal das Programm auszuführen, wirft er mir eine Exception aus.
class Einmal{
static int Zähler = 0;
static double Ergebnis = 0;
static double mittelWert(double[] Werte){
Ergebnis = Ergebnis + Werte[Zähler];
Zähler++;
if(Zähler == Werte.length){
return Ergebnis/Werte.length;
}
else{
return mittelWert(Werte);
}
}
}
Anscheinend liegt das daran, dass die Variablen Ergebnis und Zähler nicht zurückgesetzt werden. Sollte das eigentlich nicht immer automatisch geschehen?
PS.: Wenn jemand ein paar coole Aufgaben kennt, die rekursiv mit Arrays gelöst werden müssen kann er ja die mal posten.....