Java, programmieren

Hallo,

das ist fast richtig, denn Deine int Values für i und j sind Null basiert. D.h., dass Du Dich bei i=1 oder j=1 immer beim zweiten Element der jeweiligen Schleife befindest.

Weiterhin wird zunächst nicht i permanent erhöht, sondern j. D.h. dass von der äußeren Schleife i zur inneren j gesprungen wird. Diese innere Schleife wird dann 5 mal (von 0 bis 4!) durchlaufen. Hier wird dann jeweil a (+ Tabulator) ausgeben, wobei a anschließend um 1 erhöht wird. Erreicht j den Wert 5 wird die innere Schleife beendet und i um eins erhöht. Dies wird so lange wiederholt bis auch i den Wert 5 erreicht. Hier ist dann auch die äußere Schleife beendet.

Problem ist nur, dass ich nicht weiß wie ich das Programm abändern muss, damit es richtig läuft.

die anordnung der anweisungen ist nicht korrekt. siehe meine Angabe zum Ablauf der Schleife (Mail von 19:02).
Wenn du die Reihenfolge einhälst kommst du auch zum korrekten Ergebnis

Das a++, das in der for-Schleife steht, kommt dann in die while-Schleife. Da ändert sich nichts.

Wie soll es denn richtig laufen?

Problem ist nur, dass ich nicht weiß wie ich das Programm
abändern muss, damit es richtig läuft.

Hallo,

ohne dir zu nahe treten zu wollen, das hört sich doch stark nach Hausaufgabenhilfe an… :smile:

Wie dem auch sei…

Hier wird kein Array gebildet. Ein Array in Java ist ein Datentyp, also etwa int[] (int-Array) oder String[] (String-Array). Das ist im Kontext Java (oder allgemeiner, im Kontext Programmierung) ein feststehender Begriff und darf nicht anderweitig verwendet werden.

Bei dem Programm wird eine zweidimensionale Matrix ausgegeben, das hast du richtig erkannt. Allerdings hast du Spalten mit Zeilen verwechselt - und die innere mit der äußeren Schleife. i ist der Zeilenindex, j der Spaltenindex. Zuerst werden mit i = 0 alle j-Werte von 0 bis 4 (nicht bis 5, die Bedingung ist i

Ja ich habe das bereits kompilieren. Ich wollte jedoch die Struktur des Programmes verstehen, was ich jetzt getan habe. Ich vertausche jedoch sehr gerne i und j.
Vielen Dank für deine Hilfe

Ja genau,
im Prinzip schon richtig, wenn man mal von den Begrifflichkeiten absieht. Ein Array wird dort nicht bedildet (wäre ja dann sowas wie int[]). Ich nehme an Du meinst es wird eine Liste ausgegeben. Dann stimmt es :smile:
Die innere Schleife sorgt für die tatsächliche Ausgabe, die äußere den Zeilenumbruch. Hast du also richtig verstanden… :smiley:

Dann bin ich ja erleichtert :smile:
danke!

Hallo

Hallo, ich habe ein paar Fragen zu folgendem Programm:

public class Main {

static void schleifenMethode(int a) {
for (int i = 0; i

Vielen Dank, das war sehr verständlich für mich erklärt :smile: