Hallo, ich habe folgende Aufgabe bekommen: Schreiben Sie eine Methode sumUpCols, die ein 2D-double-Array x als Parameter erwartet (das Array ist Zeilenweise aufgebaut). Die Methode soll ein 2D-double-Array mit genauso vielen Zeilen aber nur einer Spalte zurückgeben. Jedes dieser Spaltenelemente soll die Summe der zugehörigen Zeile von x enthalten. Sie können davon ausgehen dass das Array mindestens eine Spalte enthält.
Nun habe ich folgenden Code geschrieben:
ich bekomme hier leider wieder mal eine ArrayOutOfBoundsException was ich aber nicht verstehen kann. Kann mir jemand auf die Sprünge helfen?
Getestet habe ich mit :
Nun habe ich folgenden Code geschrieben:
Code:
public static double[][] sumUpCols(double[][] x){
double[][] neuerString = new double[x.length][0];
double sumRow = 0.0;
if (x.length == 0.0) return new double[0][0];
for (int i = 0; i < x.length; i++) {
for (int j = 0; j < x[i].length; j++) {
sumRow += x[i][j];
}
neuerString[i][0] = sumRow;
}
return neuerString;
}
Getestet habe ich mit :
Code:
System.out.println(Arrays.deepToString(sumUpCols(new double[][] {})));
System.out.println(Arrays.deepToString(sumUpCols(new double[][] { { 1., 1. }, { 2., 2. }, { 3., 3. } })));