题目要求:通过Java代码实现九九乘法表
Muil Version1
- 代码:
package day01;
public class Muil {
public static void main(String[] args) {
int n = 9;
for (int i = 1; i <= n; i++) {
// println会自动换行,print不会自动换行;
// 其中"\t"是转义字符,代表一个tab键;
System.out.print(i + "*" + n + "=" + i * n + "\t");
}
}
}
- 执行结果:
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
Muil Version2
分析
我们会发现上面的代码,只是显示了9那一行的乘法表内容,那么,我想显示1~8的乘法表内容怎么办呢?最笨的办法如下代码.代码
package day01;
public class Muil {
public static void main(String[] args) {
// 显示9的乘法表内容
int n = 9;
for (int i = 1; i <= n; i++) {
System.out.print(i + "*" + n + "=" + i * n + "\t");
}
System.out.println();
// 显示8的乘法表内容;
n = 8;
for (int i = 1; i <= n; i++) {
System.out.print(i + "*" + n + "=" + i * n + "\t");
}
//单独的println就可以实现换行的效果;
System.out.println();
// 显示7的乘法表内容;
n = 7;
for (int i = 1; i <= n; i++) {
System.out.print(i + "*" + n + "=" + i * n + "\t");
}
System.out.println();
// 显示6的乘法表内容;
n = 6;
for (int i = 1; i <= n; i++) {
System.out.print(i + "*" + n + "=" + i * n + "\t");
}
System.out.println();
//显示1~5的乘法表内容此处省略,手写实在太麻烦了;后面版本会有更简单的方法,嵌套循环;
}
}
- 执行结果
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
Muil Version3
分析
我们会发现上面的代码,我们有很多代码是不断重复的,只是说变量n是不断变化的,那么我们可以用循环来依次给变量n赋值。本来就有循环,在加一层循环就是嵌套循环.代码
package day01;
public class Muil {
public static void main(String[] args) {
for (int n = 1; n <= 9; n++) {
for (int i = 1; i <= n; i++) {
System.out.print(i + "*" + n + "=" + i * n + "\t");
}
System.out.println();
}
}
}
- 执行结果
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
Muil 拓展—反向打印九九乘法表
分析:
我们正向打印九九乘法表,是让变量n从1开始,依次递增直到9;
那么反向打印九九乘法表,可以让变量n从9开始,依次递减直到1;代码
package day01;
public class Muil {
public static void main(String[] args) {
for (int n = 9; n >= 1; n--) {
for (int i = 1; i <= n; i++) {
System.out.print(i + "*" + n + "=" + i * n + "\t");
}
System.out.println();
}
}
}
- 执行结果
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*4=4 2*4=8 3*4=12 4*4=16
1*3=3 2*3=6 3*3=9
1*2=2 2*2=4
1*1=1