Hallo zusammen,
ich habe ein Programm das Matrizen als Objekte speichert und in der Main Methode erstellt und deklariert.
Nun habe ich die Matrix 1 und würde gerne mit dieser die Methode add() aufrufen und den Parameter Matrix 2 übergeben.
Das hab ich in der Main Methode wie folgend gelöst:
m.add(m);
Die Methode add() soll nun die Summe des Inhaltes aus Matrix 1 und Matrix 2 zusammen rechnen und als rückgabe Wert an die MainMethode übergeben.
Problem nun, das Ergebnis besteht immer aus den Summen der Matrix 2 (deren Summe ist immer 5 da nur 5 drinne steht). Ich denke an dieser stelle fehlt mir das Wissen um Matrix 1 direkt anzusprechen. In der add() Methode habe ich versucht die Matrizen mit this.matrix und other.matrix zu differenzieren, jedoch scheint das nicht zu funktionieren...
Hier ist meine Main-Methode:
Hier die Methoden in denen ich meine Daten eingeben, ausgeben und berechnen kann:
Interessant könnte noch sein, dass wenn ich in der MainMethode m.SetValue durchführe, dann m1.setValue und dann die add Methode mit m.add(m) dann nimmt er trotzdem die zweite Matrix, was übersehe ich?
Anbei noch ein Bild der Ausgabe.
ich habe ein Programm das Matrizen als Objekte speichert und in der Main Methode erstellt und deklariert.
Nun habe ich die Matrix 1 und würde gerne mit dieser die Methode add() aufrufen und den Parameter Matrix 2 übergeben.
Das hab ich in der Main Methode wie folgend gelöst:
m.add(m);
Die Methode add() soll nun die Summe des Inhaltes aus Matrix 1 und Matrix 2 zusammen rechnen und als rückgabe Wert an die MainMethode übergeben.
Problem nun, das Ergebnis besteht immer aus den Summen der Matrix 2 (deren Summe ist immer 5 da nur 5 drinne steht). Ich denke an dieser stelle fehlt mir das Wissen um Matrix 1 direkt anzusprechen. In der add() Methode habe ich versucht die Matrizen mit this.matrix und other.matrix zu differenzieren, jedoch scheint das nicht zu funktionieren...
Hier ist meine Main-Methode:
Java:
public class Matrix {
private static int m;
private static int n;
private double x;
static double[][] matrix;
public static void main(String[] args) {
Matrix m = new Matrix(10,5);
Matrix m1 = new Matrix(5,5);
m.setValue(0,0,1.553);
m1.setValue(0, 0, 5.0);
System.out.println(m.add(m1));
}
public Matrix(int m, int n) {
this.m = m;
this.n = n;
matrix = new double[m][n];
}
Hier die Methoden in denen ich meine Daten eingeben, ausgeben und berechnen kann:
Code:
public static void setValue(int i, int j, double x) {
matrix[i][j] = x;
}
public double getValue(int i, int j) {
return matrix[i][j];
}
public double add(Matrix other) {
double temp=0;
for(int i=0;i<other.m;i++) {
for(int j=0;j<other.n;j++) {
temp=temp+other.matrix[i][j];
System.out.println(temp);
}
}
for(int k=0;k<this.matrix.m;k++) {
for(int l=0;l<this.matrix.n;l++) {
temp=temp+other.matrix[k][l];
System.out.println(temp);
}
}
return temp;
}
}
Interessant könnte noch sein, dass wenn ich in der MainMethode m.SetValue durchführe, dann m1.setValue und dann die add Methode mit m.add(m) dann nimmt er trotzdem die zweite Matrix, was übersehe ich?
Anbei noch ein Bild der Ausgabe.