public class DD

static void K()
{
int n=9; 
int i,j; 
for (i=1;i<=n;i++) 
{
for (j=10;j>=i;j--)
System.out.print(" ");
for (j=1;j<=2*i-1;j++)
System.out.print(i);
System.out.println();


public static void main(String args[]) 

K();

}请问for (j=10;j>=i;j--) J的值在减小,I的值在增加,为什么还能继续运行,偶是初学者,麻烦老大们帮忙解决,偶会相当感谢的!!!

解决方案 »

  1.   

    1
             222
            33333
           4444444
          555555555
         66666666666
        7777777777777
       888888888888888
      99999999999999999这是结果,没有问题,你需要重新编译你的程序。编译前把.class文件删除
      

  2.   

    for (j=10;j>=i;j--) 
    主要是这句话我不明白,我知道他是控制每行输入的空格数,但是我不知道为什么这样写,我感觉当i=6 j=4的时候怎么还能运行,j>=i 的呀,偶被搞糊涂了,各位老大帮帮忙!
      

  3.   

    怎么可能i = 6,j = 4呢,for (j=10;j>=i;j--)每次循环j赋初值10,等于i的时候循环结束。就是每行先输出10-i+1个空格。
      第二个循环控制输出多少个数字。
      

  4.   

    j--  j的值就变成9,当i自增后为2的时候再次进入内部循环,j的值不变还是10吗?