public class Chenfabiao{
public static void main(String args[]){
for(int i=1;i<10;i++)
{for(int j=1;j<10&&j>=i;j++)
System.out.print(" "+i+"*"+j+"="+i*j);
System.out.println();}
}
}
我觉得输出结果应该是
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*1=2 2*2=4 2*3 =6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
然后按这样的规律一直到9*1=9....9*9=81
可是运行后输出的却是
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9 (加上下面几行空格就没了)
谁能详细说明一下吗
谢谢~~
參考答案:for(int j=1;j<10&&j>=i;j++)
改成这个
for(int j=1;j<10;j++)
就可以实现像你说的那种输出,不过你说的那个不是我们常见的乘法表,常见的应该是这个:
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
…………………………
这种就把循环改成:
for(int i = 1; i <= 9; i++)
{
for(int j = 1; j<= i; j++)
{
System.out.print(j + "*" + i + "=" + j*i);
}
System.out.println();
}
回答楼主的补充问题:
for循环时一但满足终止条件就结束整个for循环继续执行下面的代码
i=2时内层循环直接结束,轮不到j=2了,然后就是是i=3,仍然结束……直到最后外层循环也结束。