九九乘法表的思维创造与学习心得
九九乘法表思维创造
佬们,由于技术不精所以打回娘胎重学Java,在看三更老师讲开悟的的课程,提到九九乘法表的输出过程,突然一下子许久未上油的转轴开始撬动了;
三更老师的解题思路是这样的:
- 列出输出语句
System.out.print("1*1=1\t");
System.out.println();
System.out.print("1*2=2\t");
System.out.print("2*2=4\t");
System.out.println();
System.out.print("1*3=3\t");
System.out.print("2*3=6\t");
System.out.print("3*3=9\t");
System.out.println();
- 找规律
发现变化的是第一个数,那么用循环写成这样
for(int i = 1;i<=2;i++){
System.out.print(i+"2="+(i2)+"\t");
System.out.println();
}
- 看整体
for(int i = 1;i<=1;i++) {
System.out.print(i+"1="+(i1)+"\t");
}
System.out.println();
for(int i = 1;i<=2;i++) {
System.out.print(i+"2="+(i2)+"\t");
}
System.out.println();
for(int i = 1;i<=3;i++) {
System.out.print(i+"3="+(i3)+"\t");
}
System.out.println();
不同的是
image
- 再优化
for(int j= 1; j<=3;j++) {
for(int i = 1;i<=j;i++){
System.out.print(i + "*" + j + "=" + i * j + "\t");}
System.out.println();
}
- 最后
for (int j = 1; j <= 9; j++) {
for (int i = 1; i <= j; i++) {
System.out.print(i + "*" + j + "=" + i * j + "\t");}
System.out.println();
}
我无法突然理解这种由点到面层层递进的解决思维,顿感恶心好像喉咙胸腔有股气仿佛喷涌而出,索性跟佬友们分享一下,我看第三步看整体真的是需要开智;想听听佬友们怎么解,以前看某马讲都是说什么外循环一次内循环外循环的大小次数,根本只知其形不知其意,
1 post - 1 participant
via - (author: lwelinuxdo)
评论已关闭