Java Matrix mal Matrix über while Schleife...

ohmp2007

Mitglied
Hallo,

Leute bin wieder dabei eine Matrix mal Matrix über eine while Schleife zu machen! Bekomme es aber net hin!

Java:
public class MatrixWhile {
	
	public static double [][] compute (double [][] a , double [][] b){
		
		double [][] erg = new double [a.length][a.length];
		
		int i=0;
		int j=0;
		int k=0;
		
		while (i<a.length){
			
			while (j<a.length){
				
				while (k<a.length){
					
					erg [i][j] += a[i][k] * b[k][j];
		
				}
				System.out.print(erg[i][j] + " ");
				j++;
				
			}
			System.out.println(" ");
			i++;
		}
		
		return erg;
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		double [][] a = {{1,2}, {2,1}};
		double [][] b = {{2,1}, {3,4}};
		
		MatrixWhile.compute(a, b);
		
	}

}
 

Marco13

Top Contributor
Studieren geht über Probieren :joke:

Notfalls Debug-Ausgaben reinmachen
Java:
public class MatrixWhile {

    public static double [][] compute (double [][] a , double [][] b){

        double [][] erg = new double [a.length][a.length];

        int i=0;
        int j=0;
        int k=0;

        while (i<a.length){

            j = 0;
            while (j<a.length){

                k = 0;
                while (k<a.length){

                    System.out.println("Multipliziere a["+i+"]["+k+"]="+a[i][k]+" mit b["+k+"]["+j+"]="+b[k][j]+" und addiere es zu erg["+i+"]["+j+"]="+erg[i][j]);
                    erg [i][j] += a[i][k] * b[k][j];
                    System.out.println("Zetzt ist erg["+i+"]["+j+"]="+erg[i][j]);
                    k++;

                }
                System.out.print(erg[i][j] + " ");
                j++;

            }
            System.out.println(" ");
            i++;
        }

        return erg;
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        double [][] a = {{1,2}, {2,1}};
        double [][] b = {{2,1}, {3,4}};

        MatrixWhile.compute(a, b);

    }

}
 

HimBromBeere

Top Contributor
Das Blöde an deinen while-Schleifen ist, dass, nachdem die innere mal durchgelaufen ist, das k nirgends wieder auf 0 gesetzt wird (für j im Übrigen äquivalent). Also entweder du setzt es explizit auf 0, oder du verwendest eine for-Schleife anstelle der komischen whiles... dafür wurde die erfunden :rtfm:

Schau mal ganz genau in die Zeilen 13, 16 und 22 von Marco, dann siehst du, was ich meine.
 
M

Marcinek

Gast
Das Problem ist, dass bei einer NxN Matrix für die Multiplikation nicht 3 Schleifen benötigt werden.
 
S

SlaterB

Gast
meinst du dort
Java:
private double zeileMalSpalte (int zi, double [] [] b, int spi)
{ double summe = 0.0d;
      double [] zeile = mat[zi];
     for (int k=0; k < b.length; k++)
           summe += zeile[k] * b[k][spi];
     return (summe);
}

public Matrix matMult(Matrix b)
      { if ( spalten != b.zeilen ) return null; // inkompatible Dimensionen
           Matrix p = new Matrix (zeilen, b.spalten);
           for (int i = 0; i < zeilen; i++)
                      for (int j = 0; j < b.spalten; j++)
                                 p.belegeMatrixelement(i, j, zeileMalSpalte(i, b.mat, j));
           return(p);
     }

}
?

ist das nicht eine Doppelschleife in matMult,
worin dann zeileMalSpalte aufgerufen wird, in der noch eine dritte Schleife steht? ;)

mit Verteilen auf Methoden braucht man ja nichtmal eine Doppelschleife, drei einzelne gingen auch,

die drei Schleifen im Anfangspost sind gewiss strukturell falsch, das wurde durchaus richtig angemerkt
 
M

Marcinek

Gast
Es ging durchaus um die 3 Schleifen. Ich dachte, dass er vor hätte, die Schleifen z.B. durch Rekursion wie beim Strassen-Winograd zu verstecken, aber... (*nochmal schaut*) ... ja, das ist das Anfängerforum ;)

War vielleicht doch bissel früh heute morgen ;D

Ja, man braucht 3 schleifen ;D

Gruß,

Martin
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Matrix erstellen Java Java Basics - Anfänger-Themen 7
J Matrix Java Java Basics - Anfänger-Themen 3
J Java Matrix befüllen Java Basics - Anfänger-Themen 5
G Matrix in Java Java Basics - Anfänger-Themen 12
J Java-Matrix ? Java Basics - Anfänger-Themen 4
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
P Java 2n Potenzieren Java Basics - Anfänger-Themen 1
J Java Hamster Java Basics - Anfänger-Themen 4
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
V Die Funktion des neuen Schlüsselworts in Java Java Basics - Anfänger-Themen 1
W Junit-Test (Java) Java Basics - Anfänger-Themen 4
W Testfälle bei Java ( Junit-Test) Java Basics - Anfänger-Themen 3
laxla123 If-else Java Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben