Vulpecula
Commander
- Registriert
- Nov. 2007
- Beiträge
- 2.245
Hallo zusammen!
Ich habe ein kleines Verständnisproblem bezüglich einer FOR-Schleife in Java. Und zwar habe ich FOR-Schleifen benutzt, um zwei Matrizen (gespeichert in mehrdimensionalen Arrays) miteinander zu multiplizieren. Hier mal der Code dazu:
Ich weiß, dass der Algorithmus funktioniert, aber ich verstehe nur noch nicht ganz, wieso er nur so funktioniert. Mein Problem bei der Geschichte sind die Schleifenbedingungen. Nach meinem Verständnis müsste es in der Bedingung für die Schleifen <= (kleiner gleich) heißen, denn sonst wird doch jeweils die letzte Zeile/Spalte (also die letzten Elemente der beiden Arrays) einfach übergangen, oder nicht?
Mein Problem wird eventuell hiermit etwas deutlicher:
Diese Schleife gibt i aus, soweit klar. Nur steigt die Schleife ja bei 3 schon aus, also ist der größte ausgegebene Wert von i = 2.
Vielleicht ist da draußen jemand schlauer als ist und kann mich aufklären.
MfG
Vulpecula
Ich habe ein kleines Verständnisproblem bezüglich einer FOR-Schleife in Java. Und zwar habe ich FOR-Schleifen benutzt, um zwei Matrizen (gespeichert in mehrdimensionalen Arrays) miteinander zu multiplizieren. Hier mal der Code dazu:
Code:
for(int zeilen = 0; zeilen < matrix1.length; zeilen++)
{
for(int spalten = 0; spalten < matrix2[0].length; spalten++)
{
for(int zaehler = 0; zaehler < matrix1[0].length; zaehler++)
{
ergebnismatrix[zeilen][spalten] += matrix1[zeilen][zaehler] * matrix2[zaehler][spalten];
}
}
}
Ich weiß, dass der Algorithmus funktioniert, aber ich verstehe nur noch nicht ganz, wieso er nur so funktioniert. Mein Problem bei der Geschichte sind die Schleifenbedingungen. Nach meinem Verständnis müsste es in der Bedingung für die Schleifen <= (kleiner gleich) heißen, denn sonst wird doch jeweils die letzte Zeile/Spalte (also die letzten Elemente der beiden Arrays) einfach übergangen, oder nicht?
Mein Problem wird eventuell hiermit etwas deutlicher:
Code:
for (int i = 0; i < 3; i++)
{
System.out.println(i);
}
Diese Schleife gibt i aus, soweit klar. Nur steigt die Schleife ja bei 3 schon aus, also ist der größte ausgegebene Wert von i = 2.
Vielleicht ist da draußen jemand schlauer als ist und kann mich aufklären.
MfG
Vulpecula