九九乘法表思维创造
佬们,由于技术不精所以打回娘胎重学Java,在看三更老师讲开悟的的课程,提到九九乘法表的输出过程,突然一下子许久未上油的转轴开始撬动了;
三更老师的解题思路是这样的:

  1. 列出输出语句

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();

  1. 找规律
    发现变化的是第一个数,那么用循环写成这样

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

  1. 看整体

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

  1. 再优化

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();
}

  1. 最后

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)

Invalid media:
image
image

标签: none

评论已关闭