/* * Authro: CHEN Yongyuan (Walter) 1930006025 from OOP(1007) * Date: 2022-03-02 * Description: A table of multiplication table of 1 to 9. * Using nested for loop to print the table. * Assignemnt: #2 Question2 * Output: * | 1 2 3 4 5 6 7 8 9 --------------------------------------- 1 | 1 2 3 4 5 6 7 8 9 2 | 2 4 6 8 10 12 14 16 18 3 | 3 6 9 12 15 18 21 24 27 4 | 4 8 12 16 20 24 28 32 36 5 | 5 10 15 20 25 30 35 40 45 6 | 6 12 18 24 30 36 42 48 54 7 | 7 14 21 28 35 42 49 56 63 8 | 8 16 24 32 40 48 56 64 72 9 | 9 18 27 36 45 54 63 72 81 */ public class TimeTable { public static void printHeader() { System.out.println("* | 1 2 3 4 5 6 7 8 9"); System.out.println("---------------------------------------"); } public static void printLineBegin(int i) { System.out.print(i + " |"); } public static int spaceBefore(int i) { // format the number to be printed String s = Integer.toString(i); // calculate the number of spaces before the number int len = s.length(); // return the number of spaces int space = 4 - len; return space; } public static void main(String[] args) { // print the two lines header printHeader(); // loop for main content for (int i = 1; i <= 9; i++) { printLineBegin(i); // loop for each number in the line for (int j = 1; j <= 9; j++) { int number = i * j; // print the space before the number for (int k = 0; k < spaceBefore(number); k++) { System.out.print(" "); } // print the number System.out.print(number); } // print the end of the line System.out.println(); } } }