In the previous example, where we printed out the multiplication table, the number of iterations of the internal loop was fixed. In general, the number of iterations of an internal loop may depend on the iteration of the external loop.
Example: Print out a pyramid of stars.
Pyramid of height 4 row blanks * * 1 3 1 *** 2 2 3 ***** 3 1 5 ******* 4 0 7
To print the generic row r: print (height - r) blanks and (2 . r - 1) stars.
int height; height = Integer.parseInt(JOptionPane.showInputDialog("Input the height")); for (int row = 1; row <= height; row++) { // 1 iteration for each row of the pyramid for (int i = 1; i <= height - row; i++) System.out.print(" "); // prints the initial blanks for (int i = 1; i <= row * 2 - 1; i++) System.out.print("*"); // prints the sequence of stars System.out.println(); // prints a newline: the row is finished }