Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hallo,
Ich habe die Aufgabe zwei Matrizen miteinander zu multiplizieren und habe meine Probleme bei der Initialisierung der Matrix und bei den For-Schleifen für die Zeilen und Spalten. Ich würde mich über Ratschläge freuen.
Java:
public class Matrix{
double[][] array;
// initalisiert Matrix mit row Zeilen und colum Spalten. Alle Werte werden auf 0 initalisiert.
public static void init(Matrix a, int row, int column){
double [][] Matrix;
Matrix= new double [row][column];
}
// gibt die Anzahl der Zeilen zurueck
public static int getNRows(Matrix a){
for (int row=0;row<Matrix.length;row++){
return row;
}
}
// gibt die Anzahl der Spalten zurueck
public static int getNColumns(Matrix a){
for (int column=0;column<Matrix.length;column++){
return column;
}
}
// gibt die Matrix aus
public static void print(Matrix a){
// multipliziert Matrix A(NxM) mit Matrix B(QxR). Wenn M ungleich Q ist, wird eine Fehlermeldung ausgegeben.
public static Matrix mult(Matrix a, Matrix b)
public static void main(String[] args) {
}
}
In Java gibt es Bennenungskonventionen. Bezeichner für Variablen, Methoden, Parameter schreibt man in lowerCamelCase, während Typnamen (Klassennamen & Co.) in UpperCamelCase geschrieben werden. In Deinem Code ist es nicht einfach, zwischen der Klasse Matrix und der Variablen Matrix zu unterscheiden.
Bezeichner dürfen und sollen aussagekräftig sein. Warum soll ein "a" für eine Matrix stehen?!?
Versuche einmal, in eigenen Worten zu beschreiben, was Deine Methode Deiner Meinung nach genau macht.
In Java gibt es Bennenungskonventionen. Bezeichner für Variablen, Methoden, Parameter schreibt man in lowerCamelCase, während Typnamen (Klassennamen & Co.) in UpperCamelCase geschrieben werden. In Deinem Code ist es nicht einfach, zwischen der Klasse Matrix und der Variablen Matrix zu unterscheiden.
Bezeichner dürfen und sollen aussagekräftig sein. Warum soll ein "a" für eine Matrix stehen?!?
Versuche einmal, in eigenen Worten zu beschreiben, was Deine Methode Deiner Meinung nach genau macht.
Also das a für die Matrix wurde mir in der Aufgabe vorgegeben. Ich habe jetzt einen neuen Ansatz für die Initialisierung und zwar wie folgt a.array =new double [row][column];
In der ersten for Schleife lasse ich Zeilen erzeugen solange die Zeilenanzahl kleiner als die Matrixlänge ist.
Die zweite for Schleife funktioniert genau so für die Spalten.
In der ersten for Schleife lasse ich Zeilen erzeugen solange die Zeilenanzahl kleiner als die Matrixlänge ist.
Die zweite for Schleife funktioniert genau so für die Spalten.
Wenn Du die beiden Methoden getNRows und getNColumns meinst: da erzeugst Du nichts, sondern iterierst einfach über die Zahlen zwischen 0 und ... (dort steht im Code oben etwas, das ich nicht zu deuten wage). Abgesehen davon wird bereits beim ersten Durchlauf des Schleifenrumpfs die Schleife wieder verlassen, weil Du per return aus der Methode zurückkehrst.