For-Schleife

Dynamaik

Grünschnabel
Hallo. Ich hab folgendes Programm und da ich noch am Anfang mit Java bin versuche ich jedes Programm auseinander zu nehmen und zu verstehen.
Bei dem Programm weiß ich nicht was in Zeile 12 passiert.

Java:
import java.util.Scanner;
public class Dreieck {
public static void main(String [] args){
		
	Scanner sc = new Scanner(System.in);
	
	System.out.println("Anzahl der Zeilen? ");
	
	int n = sc.nextInt();
	
	  for (int i=1;i<=n;i++) {
	      for (int j=1;j<=i;j++)
	        System.out.print("*");
                System.out.println("");
	      	
	    }
}
}


So, wenn ich Zeile 12 komplett weglasse dann ist das doch nur eine normale for-Schleife die, wenn ich den Wert 5 eingebe, bis 5 hochzählt. Und so wird das dann auch ausgegeben, im Form von Sternen.
Mit Zeile 12 wird ein Dreieck gebaut mit Sternen, aber was passiert in Zeile 12 damit diese Ausgabe zustande kommt?

Bin für jeden Tipp dankbar!



Gruß,
Dynamaik
 
Er definiert j, setzt sie auf 1 und zählt sie hoch, bis sie größer als i ist.
Ich würde aber noch das Tabulatordesign überdenken.
 
Moin,

Ich würde aber noch das Tabulatordesign überdenken.

da muss ich Kai absolut Recht geben!
Zumal Du so bei der inneren for-Schleife schnell übersiehst, dass nur die eine folgende Zeile ausgeführt wird ...

Java:
import java.util.Scanner;
public class Dreieck 
{
    public static void main(String [] args)
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Anzahl der Zeilen? ");
   
        int n = sc.nextInt();
   
        for( int i=1; i<=n; i++ ) 
        {
            for( int j=1; j<=i ;j++ )
            {
                System.out.print("*");
            }
            System.out.println("");
           
        }
    }
}

Ich denke, jetzt wird klarer, dass die innere for-Schleife in der ersten Zeile einen Stern schreibt, in der zweiten Zeile zwei Sterne usw.

Bei soviel Sternen bleibt mir nur noch, frohe Weihnachten zu wünschen :p

Gruß
Klaus
 
Zurück