Hallo Leute!
Ich habe gerade mit Programmieren angefangen. Jetzt hab ich die Aufgabe, ein Programm zu schreiben, das Zahlen von der Kommandozeile ausliest und an eine Methode übergibt, welche diese Zahlen dann summiert.
Vorgabe: die int Methode muss die parameter < (int [ ] a, int von, int bis) > übernehmen. Die Berechnung soll rekursiv erfolgen.
Nun bastel ich hier ewig dran rum und kann auch kompilieren, bekommen nach Eingabe von Werten auf der Kommandozeile immer eine " ArrayIndexOutOfBoundException " in Zeile 17 und 10 Warum???
Vielleicht kann jemand helfen, danke schonmal!
Ich habe gerade mit Programmieren angefangen. Jetzt hab ich die Aufgabe, ein Programm zu schreiben, das Zahlen von der Kommandozeile ausliest und an eine Methode übergibt, welche diese Zahlen dann summiert.
Vorgabe: die int Methode muss die parameter < (int [ ] a, int von, int bis) > übernehmen. Die Berechnung soll rekursiv erfolgen.
Nun bastel ich hier ewig dran rum und kann auch kompilieren, bekommen nach Eingabe von Werten auf der Kommandozeile immer eine " ArrayIndexOutOfBoundException " in Zeile 17 und 10 Warum???
Vielleicht kann jemand helfen, danke schonmal!
Java:
public class Summe{
public static void main( String[] args){
int von;
int bis = args.length;
int [] a = new int [bis];
for(von =0; von < bis; von++)
a[von] = Integer.parseInt(args[von]);
System.out.println(rechnung(a, von, bis));
}
public static int rechnung(int[] a, int von, int bis) {
if (von == a.length - 1)
return a[von];
else{
int result = a[von] + rechnung(a, von+1, bis);
return result;
}
}
}
Zuletzt bearbeitet: