【视频+图文】Java经典基础练习题(二)输出9*9乘法口诀表
能解决题目的代码并不是一次就可以写好的
我们需要根据我们的思路写出后通过debug模式找到不足再进行更改
多次测试后才可得到能解决题目的代码!
通过学习,练习【java基础经典练习题】,让我们一起来培养这种解决问题思路。
一、视频讲解
二、思路分析
q1: 拿到题目之后,该如何去分析题目并一步步向能解决题目的代码去靠近呢?
q2: 我的思路是:
- 先根据题目写出一些例子(有的题目也会给出例子)
- 根据写出(给出)的例子找到规律
- 根据规律写好代码
- 运行后若有错误通过debug找到错误并更改
- 直到程序可以正确得出题目的结果
那么针对本题:
(一)我们可以先写出部分的9*9乘法表
1*1=1 | ||||
---|---|---|---|---|
2*1=2 | 2*2=4 | |||
3*1=3 | 3*2=3 | 3*3=9 | ||
4*1=4 | 4*2=8 | *3=12 | 4*4=16 | |
5*1=5 | 5*2=10 | 5*3=15 | 5*4=20 | 5*5=25 |
(二)根据我们写出的部分9*9乘法表我们可以发现:
- 在相乘的过程中行数和列数是一直发生变化的
- 所以我们可以定义两个变量i,j来分别代表行数i和列数j
(三)我们看下图的行数和列数变化,可得到规律:j<=i
(四)因为行数i和j都是一直变化的,且结合我们得到的规律
所以我们选用双重for循环来解决这道题。
三、代码+详解+结果
代码:
package exercise; public class chengfa { // 题目:输出9*9乘法口诀。 public static void main(string[] args) { int i = 0;// i为行数 int j = 0;// j为列数 for (i = 1; i < 10; i++) { for (j = 1; j <= i; j++) {// 这里需用到我们总结的规律j<=i system.out.print(i + "*" + j + "=" + i * j + " "); } system.out.println(); } } }
详解:
以i=3为例
i = 3 3<10 j=1 1<=3 执行输出语句
system.out.print(i + "*" + j + "=" + i * j + " ");
输出 3 * 1=3 j++ ,j = 2
=================================================================
i = 3 3<10 j=2 2<=3 执行输出语句
system.out.print(i + "*" + j + "=" + i * j + " ");
输出3*2=6 j++, j = 3
=================================================================
i = 3 3<10 j=3 3<=1 执行输出语句
system.out.print(i + "*" + j + "=" + i * j + " ");
输出3*3=9 j++, j = 4
=================================================================
j=4,不满足j<=i条件,所以退出第二层for循环执行输出语句进行换行
system.out.println();
=================================================================
i++ i = 4 再进行下一次循环。
结果:
四、彩蛋:
推荐你看:
上一篇: channel通道常见使用场景
下一篇: BigInteger实现除法取余