As some of you have discovered on your own, you are allowed to place one loop inside another. In doing so, all of the repetitions of the inner loop are performed every single time the body of the outer loop is performed. For example, the following program will print something like your standard, elementary school multiplication tables:
public class MultiplicationTables { public static void main (String[] args) { int i = 1; while (i < 10) { int j = 1; while (j < 10) { System.out.print(i + " * " + j + " = " + (i*j) + " "); j = j + 1; } // end while j System.out.println(); i = i + 1; } // end while i } // end main () } // end class MultiplicationTables
The output will look like this:
1 * 1 = 1 1 * 2 = 2 1 * 3 = 3 1 * 4 = 4 1 * 5 = 5 1 * 6 = 6 1 * 7 = 7 1 * 8 = 8 1 * 9 = 9 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 4 * 1 = 4 4 * 2 = 8 4 * 3 = 12 4 * 4 = 16 4 * 5 = 20 4 * 6 = 24 4 * 7 = 28 4 * 8 = 32 4 * 9 = 36 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 5 * 4 = 20 5 * 5 = 25 5 * 6 = 30 5 * 7 = 35 5 * 8 = 40 5 * 9 = 45 6 * 1 = 6 6 * 2 = 12 6 * 3 = 18 6 * 4 = 24 6 * 5 = 30 6 * 6 = 36 6 * 7 = 42 6 * 8 = 48 6 * 9 = 54 7 * 1 = 7 7 * 2 = 14 7 * 3 = 21 7 * 4 = 28 7 * 5 = 35 7 * 6 = 42 7 * 7 = 49 7 * 8 = 56 7 * 9 = 63 8 * 1 = 8 8 * 2 = 16 8 * 3 = 24 8 * 4 = 32 8 * 5 = 40 8 * 6 = 48 8 * 7 = 56 8 * 8 = 64 8 * 9 = 72 9 * 1 = 9 9 * 2 = 18 9 * 3 = 27 9 * 4 = 36 9 * 5 = 45 9 * 6 = 54 9 * 7 = 63 9 * 8 = 72 9 * 9 = 81
We were recently introduced to the char type that allows us to store and manipulate character values. The following example shows the specifics of assigning, comparing, and performing simple arithmetic on a character value. This little program prints the alphabet.
public class Alphabet { public static void main (String[] args) { char letter = 'A'; while (letter <= 'Z') { System.out.print(letter); letter = (char)(letter + 1); } // end while letter } // end main () } // end class Alphabet
Write a program, named PrintGrid, that does the following:
Ask the user for a number of rows to print.
Ask the user for a number of columns to print.
Using those user-supplied dimensions, print a grid that has the following format (here assuming 3 rows and 5 columns):
A-1 A-2 A-3 A-4 A-5 B-1 B-2 B-3 B-4 B-5 C-1 C-2 C-3 C-4 C-5
Write a program, named PrintTree, that does the following:
Ask the user for the height of the tree to print.
Print the following pattern, forming a nice, text-based "tree" of the requested height (here assuming a height of 5):
* *** ***** ******* ********* |
When your work is complete, use the cs11-submit program again. For this lab, you will submit your work with the following command at the shell prompt:
cs11-submit lab-3 PrintGrid.java PrintTree.java