Hi,
die Aufgabe lautet: Matrizen zu Multiplizieren. Das ist mein Ansatz. Könnte mir jemand verraten warum falsche werte in die methode matrizenMultiplikation übergeben werden(selbst wenn ich die anzahl von den b inhalten ändere bleiben die auf 2 und 2)?!
Vielleicht bin ich einfach nur blind und seh meinen Gedanken fehler nicht. Vielleicht könnt ihr mir weiterhelfen....
die Aufgabe lautet: Matrizen zu Multiplizieren. Das ist mein Ansatz. Könnte mir jemand verraten warum falsche werte in die methode matrizenMultiplikation übergeben werden(selbst wenn ich die anzahl von den b inhalten ändere bleiben die auf 2 und 2)?!
Vielleicht bin ich einfach nur blind und seh meinen Gedanken fehler nicht. Vielleicht könnt ihr mir weiterhelfen....
Code:
import javagently.*;
import java.io.*;
class Matrizen{
public static int [][] matrizenMultiplikation(int a[][], int b[][])
throws IOException{
int [][] c = new int [a.length][b[0].length];
System.out.println(a.length); // hier komischerweise 2
System.out.println(a[0].length); // hier komischerweise 3
System.out.println(b.length); // hier richtigerweise 2
System.out.println(b[0].length); // hier komischerweise 2
int summe = 0;
try{
if (a[0].length != b.length){
throw new IllegalArgumentException();
}
else{
for(int i=0; i<a.length; i++ ){
for (int j=0; j<b[0].length; j++){
for (int k=0; k<a[0].length; k++){
summe = summe + a[i][k]*b[k][i];
}
c[i][j] = summe;
}
}
}
}
catch (IllegalArgumentException e){
System.out.println("Die Matrizen lassen sich nicht multiplizieren");
}
return c;
}
public static void main (String [] args) throws IOException{
int [][] a = {{1,1,1},{2,2}};
int [][] b = {{3,3},{4,4,4}};
int [][] erg = matrizenMultiplikation(a,b);
for (int i=0; i<a.length; i++){
for (int j=0; j<b[0].length; j++){
System.out.println(erg[i][j]);
}
}
}
}