Problem mit 2D-Matrix und Konstruktor

Status
Nicht offen für weitere Antworten.

Kidao

Mitglied
Hallo zusammen!

Ich habe eine "kleines" Problem. Meine Java-Kenntnisse sind nicht wirklich groß und deswegen bleibe ich oft an Sachen hängen, die ich noch nicht kenne.
Also es geht um eine Matrix, eine Konstruktor und ein 2D-Array.

Ich möchte eine Matrix in der Datei Start.java erstellen und bin wie folgt vorgegangen:

Code:
import info1.math.*;

public class Start {
	public static void main(String [] args){
		
		
		double[][]test={{3, 5, 1}, 
                		{1, 6, 2},
                		{0, 8, 3}};
		}
}

und in meiner Matrix.java Datei habe ich folgenden Konstruktor :

Code:
package info1.math;

public class Matrix implements IMatrix {
private double[][] eintraege;

   public Matrix(double[][] feld)              		   //Konstruktor 
    {
	 eintraege = feld;
	}

Ich bin nach einem alten Programm vorgegangen, wo es um ein 1D-Array ging, wo Name und Addresse gespeichert waren aber irgendwie kann ich hier die Daten nicht an den Konstruktor schicken.

wenn ich nach der Matrix schreibe

Code:
Matrix m[][] = new Matrix [2][2];
	m=test;

Kriege ich als Fehlermeldung "Type mismatch: cannot convert from double[][] to Matrix[][]"

Mir fehlt es wie gesagt an Erfahrung, um solche Probleme zu lösen. Ich weiß zwar, wie es grundsätzlich funktioniert aber sobald man etwas abstraieren muss, komme ich nicht weiter. 🙁

Danke für die Lösungsvorschläge!!!
 
Code:
double[][] array = new double[2][2];
Matrix m  = new Matrix(array);
 
Das bringt mich leider nicht weiter....

Wenn du
Code:
double[][] array = new double[2][2];
		Matrix m  = new Matrix(array);
		m=test;

meinst, dann habe ich immer noch den selben Fehler.

Hab vergessen zu sagen, dass ich die Matrix aus Start.java nach Matrix.java übertragen muss, um dort mit ihr weiter zu arbeiten.
 
Das kann auch nicht gehen. Wie willst du den einer Variable vom Typ Matrix eine double[] zuweisen?
Ich würde dir ja beispielcode geben, aber ich hab keine Ahnung was das mal werden soll.
 
Also dein vorschlag hat mir geholfen, die erste Zeile war nur überflüssig.

So klappt alles und die Matrix wird übergeben :

Code:
double[][]test={{3, 5, 1}, 
                {1, 6, 2},
                {0, 8, 3}};
		
Matrix m  = new Matrix(test);

Danke sehr! 🙂
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben