利用for循环在控制台输出99乘法表,效果如下所示。
面对这个问题,第一个想法是:有两组循环,a和b,分别从1递增到9,相乘,打印。
有了想法,就要写出来,发现问题再解决问题。于是…
public class boke {
public static void main(String[] args) {
// TODO 自动生成的方法存根
for(int a=1;a<10;a++) {
for(int b=1;b<10;b++) {
System.out.println(a+"*"+b+"="+a*b);
}
}
}
}
结果是可以预见的。
1*1=1
1*2=2
1*3=3
.....
9*7=63
9*8=72
9*9=81
问题来了,①有很多重复的,比如:1*2=2 与 2*1=2,都会被打印出来,显然这是我们不想要的。②排版问题,乘法表不是一条道直接走下来的,是呈阶梯型,所以还应加以合适的换行,同时为了美观应该在每一个算式中间加入制表符。
问题②比较好解决,修改两个地方:
public class boke {
public static void main(String[] args) {
// TODO 自动生成的方法存根
for(int a=1;a<10;a++) {
for(int b=1;b<10;b++) {
System.out.print(a+"*"+b+"="+a*b+"\t"); //这里将println换成print,同时添加一个制表符
}
System.out.println(); //添加换行
}
}
}
结果:
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