66 lines
1.9 KiB
Java
66 lines
1.9 KiB
Java
/*
|
|
* 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();
|
|
}
|
|
}
|
|
}
|