Zahlenfolge ausgeben

elias12

Mitglied
Hallo zusammen

Ich habe folgendes Problem mit einer kniffligen Aufgabenstellung

Ein Java Programm soll folgenden Output produzieren

1 2 3 4 5 6 7 8
2 3 4 5 6 7 8 9
3 4 5 6 7 8 9 10
4 5 6 7 8 9 10 11
5 6 7 8 9 10 11 12
6 7 8 9 10 11 12 13
7 8 9 10 11 12 13 14
8 9 10 11 12 13 14 15

Nun habe ich folgende 2 Zeilen geschrieben

Java:
package aufgabe421;

/**
 *
 * @author Elvis Altherr
 * Beispiel Nummerierung Schachbrett
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        int i;
        for (i = 1; i<9; i++){
        System.out.print(i);
        for (i = 2; i<9; i=i+1){
            System.out.print(i);
        
            
        }
        }
        }

welche folgenden Output erzeugen

12345678BUILD SUCCESSFUL (total time: 2 seconds)

Wie muss ich die verschachtelten For Schleifen anpassen, dass das gewünschte Resultat erscheint

Danke für Eure Hilfe
 
Java:
public static void main(String[] args) {
  for (int i = 1; i<9; i++){
      for(int j = 0; j < 9; j++) {
         System.out.print(i + j);
      } 
      System.out.println();
  }
}
 
Ich hoffe, du verstehst auch warum. Zuerst einmal braucht man in geschachtelten Schleifen unterschiedliche Schleifenvariablen. Die äußere Schleife zählt mit i die Zeilen hoch. Innerhalb dieser Schleife zählt j die Spalten. Durch Addition ergibt sich die gewünschte "Verschiebung". Nachdem die Zeile fertig ist, also nach der inneren Schleife, muss man noch mit einen println() zur nächsten Zeile gehen.
 
Ich hoffe, du verstehst auch warum. Zuerst einmal braucht man in geschachtelten Schleifen unterschiedliche Schleifenvariablen. Die äußere Schleife zählt mit i die Zeilen hoch. Innerhalb dieser Schleife zählt j die Spalten. Durch Addition ergibt sich die gewünschte "Verschiebung". Nachdem die Zeile fertig ist, also nach der inneren Schleife, muss man noch mit einen println() zur nächsten Zeile gehen.

Danke für die ausführliche Erklärung.. werde mir die Sache noch verinnerlichen.. so dass ich es dann auch intus habe 🙂
 

Zurück
Oben