为了账号安全,请及时绑定邮箱和手机立即绑定

一个月终于弄懂了九九乘法表的逻辑。

标签:
Java 设计 产品

看到源代码后虽然能写,但是确实按照一步步操作对照乘法表相符的方法理解的。但是为啥这样,确实似解非解,知道一个月后再次学习嵌套循环,才明白了内在的原理与逻辑。
代码如下:

for (int i = 1; i <=9; i++) {

for (int j = 1; j <=i; j++) {
    System.out.print(j+"*"+i+"="+i*j+"\t");
}
System.out.println("");

第一步。找到确定变量。
外循环变量 i。
内循环变量 j。

第二步,确定内外循环管的对应位置。

确定哪个是外循环,哪个是内循环。莫搞混了。
我们明白嵌套循环,一个外循环,一个内循环。
外循环运行一次,内循环运行一遍多次。接着外循环运行第二次。
知道外循环运行一遍,内循环已经运行了j*k次。

这个时候我们可以发现,外循环运行一次,变量不变,但是内循环的变量却变化了。

这个时候我们看任一一行,比如第三行。3一直不变,123循环了一轮。所以,可以确定前面的变量为123所在的位置为内循环的变量,3个3所在的位置是外循环的变量。
这个时候我们就可以得到变量的基本表达式。
j+""+i+"="+ij
这个时候发现外循环控制换行。
于是加上System.out.println("");
第三步,明白两个循环各自次数,确定循环条件。

这个可以说是隐藏的难点。换行。

来确定循环条件。两个变量的取值范围都是1-9.于是设置都<=9.
运行结果为:
11=1 21=2 31=3 41=4 51=5 61=6 71=7 81=8 91=9
1
2=2 22=4 32=6 42=8 52=10 62=12 72=14 82=16 92=18
13=3 23=6 33=9 43=12 53=15 63=18 73=21 83=24 93=27
1
4=4 24=8 34=12 44=16 54=20 64=24 74=28 84=32 94=36
15=5 25=10 35=15 45=20 55=25 65=30 75=35 85=40 95=45
1
6=6 26=12 36=18 46=24 56=30 66=36 76=42 86=48 96=54
17=7 27=14 37=21 47=28 57=35 67=42 77=49 87=56 97=63
1
8=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64 98=72
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 9*9=81

这个结果显然与乘法表不同。这个时候发现第一行外循环不变,但是内循环却多运行了。于是改变内需换的变量取值范围。
这时候再次发现第一行内循环运行了一次,
第二行,内循环运行了两次。
第三行,内循环运行了三次。这时候发现。可以用外循环的的变量作为内循环的取值范围限制。于是内循环的循环条件改为j <=i;
再次运行。得到的结果与乘法表一样。
优化一下在表达式后面加一个“\t”.价格空格更方便阅读。

按照这样的思路。
首先确定变量,第二步确定循环体,第三部确定循环条件。这里的二三步条换回来就是单层循环语句的执行过程。

可以说算是将嵌套循环简化为两个简单的单层循环来解决了,是不是有种解中学数学题的感觉。将难题分解为及格简单题。

11=1
1
2=2 22=4
1
3=3 23=6 33=9
14=4 24=8 34=12 44=16
15=5 25=10 35=15 45=20 55=25
1
6=6 26=12 36=18 46=24 56=30 66=36
1
7=7 27=14 37=21 47=28 57=35 67=42 77=49
18=8 28=16 38=24 48=32 58=40 68=48 78=56 88=64
19=9 29=18 39=27 49=36 59=45 69=54 79=63 89=72 9*9=81

点击查看更多内容
8人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消