java 九九乘法表中for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){。。。为什么j要小于等于i?即j<=i??

最好详细点
2025-03-23 18:59:25
推荐回答(3个)
回答1:

对于编程的流程控制问题,我跟你讲解下对于循环的这类理解。

1、要想打印出 一行 ※ 或者是一列 ※,我们只需要一次循环就够了,因为我们要么全部换行,要么都不换行。
2、对于要输出打印一些多行多列的东西,那么我们怎么做呢?就像要你一个手去拿一个篮球和一个足球一样,你肯定拿不住,所以要用两只手,同样的道理,对于多行多列的东西,我们需要多重循环(不过当你对控制结构了解深入了,你就知道一只手怎么拿两个球的道理了)。
3、下面说说怎么分吧,这么看,外层循环控制行,内层控制咧!这句挺重要的,我们既然拿出来了循环就要有目的性,你要给他们分配好任务,哪个管哪个要分清楚,不然就混淆了。
(当然,你外层控制列也行,不过打印出来就有点怪了~~ 还是控制行比较好)

那么,我们来看吧,对于本题,外层循环控制了行,就是确定了要打印出来几行,
a。题目中i最大值取到了9,那么也就是控制到了,我们的99乘法表只需要打印9行就ok了!
b。对于j <= i ,我们可以这么看,既然外层控制了行,那么内层循环肯定就是控制列了。
这里,控制列是什么意思?就是指代出对于 i 所代表的行号,确定出该行需要打印出多少列
的东西,就是这样了。

就像当 i = 5,也就是说,在循环到第五行的时候,我们要给 这一行添加 j 个数据,
那么定义成 j <= i 也就是说,j 最大是5, 那么第五行就是要打印5个数据了。
看看打印出来的东西:(第五行)
1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
如果j再大出了i,那么我们在第五行就看得到 6 * 5 = 30 这个数据了。。。

好了,静下来看一遍,应该就ok了。

回答2:

for(int i=1;i<=9;i++)
{ for(int j=1;j<=i;j++)}
对于你的问题我从两个方向跟你解释:
a.对于for循环语法,你还不是很了解,for(int j=1;j<=XX;j++)j是循环变量,j必须要设定一个终止循环的值,j<=XXX,也就是在(0—XX)的范围内,该循环一直走。
b.明白了上一点之后,你要好好观察那个99乘法表是什么样的外观,你要知道i控制的是什么,j控制的是什么,假设j不小于等于i,而是小于等于100,你改下看看会发生什么事情

回答3:

因为第一行不需要有1*2=2,第二行不需要有2*3=6,同理!