先是内循环,后是外循环,
public class cfkj{
public static void main(String[] args)

{for (int i=1; i<=9; i++){
for( int j=1; j<=i; j++)
System.out.print(" "+i+ "*"+j +"="+i*j);
System.out.println();
}
}
} 1*1=1
 2*1=2 2*2=4
 3*1=3 3*2=6 3*3=9
 4*1=4 4*2=8 4*3=12 4*4=16
 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81这个程序是用嵌套for循环来打印乘法口诀
先计算每一行,如4*4=1....直到4*4=16
也就是先计算里面的,后计算外面的如果多层也是这样

解决方案 »

  1.   

    是地,由内到外
    public class mult{
    public static void main(String[] args)

    {for (int i=1; i<=9; i++){
    for( int j=1; j<=i; j++)
       for(int k=1;k<=j;k++)
    System.out.print(" "+i+ "*"+j+ "*"+k +"="+i*j*k);
    System.out.println();
    }
    }
    }
      

  2.   

    内到外,比如 oxv(花生壳)的例子
    先j=1,执行for(int k=1;k<=j;k++)
    完了再j=2,在执行for(int k=1;k<=j;k++)
      

  3.   

    sylmoon(砺筠)的程序执行结果怎么不对呀?? 为什么不换行呢?
      

  4.   

    执行循环时应该先内后外
    sylmoon(砺筠)的程序应该改成如下:(改的部分后又注释)
    public class cfkj
    {
        public static void main(String[] args)
        {
            for (int i=1; i<=9; i++)
            {
       for( int j=1; j<=i; j++)
          System.out.print(" "+i+ "*"+j +"="+i*j);
    }
             System.out.println();//换行应在i==j时的结果后再进行
        }
    }
      

  5.   

    那第二个循环中定义的变量int j=1是不是每次循环都要执行一边,把1付直给j
      

  6.   

    for (int i=1; i<=9; i++) 这句话每执行一遍,把1赋值j一次