j+o =10i循环10次。所以打印的是10*10的一个矩形。
每次j多一个,而o少一个。也就是空格多一个,而*少一个

解决方案 »

  1.   

    for(int i=10;i>0;i--){
    for (int j=0; j < 10-i; j++) ----------------------------------------------------------------------------i-- 在这起什么作用 ?
      

  2.   

    for(int i=10;i>0;i--)
    循环阿
    不自减怎么会结束循环呢
      

  3.   

    for(int i=10;i>0;i--){

         for (int j=0; j < 10-i; j++) {
                     
              System.out.print(" ");
    ---------------------------------------------------------两个 for 在一起运行时、是怎样的??我的思路是:先运行第一个for中的 i=10;i>0; 然后再运行第二个for ,最后在运行 i--;。我想不通 i-- 和第二个for 返回什么值给 i-- 。 
    -----------------------------------------------------------------还有 System.out.print("\n");  这里面的 \n 是换行吧 ??
      

  4.   

    楼上的描述有些问题、、
    --------------------------------------------------------------------
    for(int i=10;i>0;i--){

         for (int j=0; j < 10-i; j++) {
                     
              System.out.print(" ");
    ---------------------------------------------------------两个 for 在一起运行时、是怎样的??我的思路是:先运行第一个for中的 i=10;i>0; 然后再运行第二个for ,最后在运行 i--;。我想不通第二个 for 返回什么值给 i-- 。 
    -----------------------------------------------------------------还有 System.out.print("\n");  这里面的 \n 是换行吧 ??
      

  5.   

    这是我写的。。我以为你懂了啊
    \n 就是换行
    大循环里两个小循环
    for(int i=10;i>0;i--)是大循环,i是行数小循环 for (int j=0; j < 10-i; j++) {
                      System.out.print(" ");
                    }
    你可以自己代几个数字进去就明白了
      

  6.   

    你每次把i和j,o的值打出来你就明白了。
      

  7.   

    flow control 是编程语言里面非常基础的一块,好好看书先理解理解吧,这可是基础啊!
      

  8.   

    看看我理解的对吗??              
    --------------------------------------------------------------------------
         for(int i=10;i>0;i--){
    for (int j=0; j < 10-i; j++) {
             //当 i=10;j=0;时、j<10-i;也就是 0<10-10 === 0<0;此时返回为 false 也就是在第一行不做任何动作
             //当 i=9;j=0;时、j<10-9;也就是 0<10-9 === 0<1;此时返回为 true 现在运行 j++ 也就是在第二行打印一个 j 也就是打印一个 空格 。
            //当 i=8;j=1;时、j<10-8;也就是 1<10-8 === 1<2;此时返回为 true 现在运行 j++ 也就是在第三行打印两个 j 也就是打印两个 空格 。以下的依次类推...         
            System.out.print(" ");
                    }   
    for(int o=i;o>0;o--){
             //当o=i;i=10 时、o>0,也就是 o=10 > 0 ,此时返回为 true ,也就是在第一行 打印 10 个 *  
            // 当o=i;i=9 时、o>0,也就是 o=9 > 0 ,此时返回为 true ,也就是在第二行 打印 9 个 *  以下的依次类推...
     
        System.out.print("*");
            }
           System.out.print("\n");
      

  9.   

    又有一个问题:我想要的是:
                                       *********
                                        ********
                                         *******
                                          ******
                                           *****
                                            ****
                                             ***
                                              **
                                               *可我写的:public class fanxing { public static void main(String[] args) {
    for(int i=10;i>0;i--){
            for(int n=i;n<11;n++){
                System.out.print("*");
            }
     System.out.print("\n");
    }
    }
    }结果却是:*
    **
    ***
    ****
    *****
    ******
    *******
    ********
    *********
    **********
    请高手指教 、、
      

  10.   

    for(int i=10;i>0;i--){  //此处第一步i=10
            for(int n=i;n<11;n++){      //此处第一步i=10 循环一次之后i=11不满足i<11只打印一个“*”             System.out.print("*");
            }
     System.out.print("\n");
    }
    }
    }
    以此类推打印结果就是这样了
    *
    **
    ***
    ****
    *****
    ******
    *******
    ********
    *********
    **********
      

  11.   

    public class TestIt{
    public static void main(String[] args) {
    for(int i=10;i>0;i--)
    {
    for(int j=0;j<i;j++)
    System.out.print("*");
    System.out.print("\n");
    }

    }

    }
    图:
    **********
    *********
    ********
    *******
    ******
    *****
    ****
    ***
    **
    *
      

  12.   

    FTDZS(范特西) :
    ---------------------------------------------------------------------------
    你理解的好像和我的不一样:
    我的理解是:
    for(int i=10;i>0;i--){ //此处第一步i=10;所以 i>0 ;为true、执行下一行。
            for(int n=i;n<11;n++){ //此处第一步i=10 ;n=i; n=10;n<11;10<11;此时为 true、执行下一行 打印一个 * ;然后 n++ (待会就打印2个*了);再执行i-- ;此时 i 就是9 了 ;然后依次类推....
                System.out.print("*");-------------------------------------------------------------------------
    for(int i=10;i>0;i--){  //此处第一步i=10
            for(int n=i;n<11;n++){      //此处第一步i=10 循环一次之后i=11不满足i<11只打印一个“*”             System.out.print("*");
            }
     System.out.print("\n");
    }
    }
    }
    以此类推打印结果就是这样了
    *
    **
    ***
    ****
    *****
    ******
    *******
    ********
    *********
    **********
      

  13.   

    那这个图呢?
    -----------------------------------------------------------------         *
            **
           ***
          ****
         *****
        ******
       *******
      ********
     *********
    **********
    --------------------------
    代码:
    public class TestIt{
    public static void main(String[] args) {
    int times=10; //可随意更改循环次数
    for(int i=times;i>0;i--)
    {
        for(int j=1;j<i;j++)
        System.out.print(" ");

        for(int k=-1;k<times-i;k++)
        System.out.print("*");
      System.out.println();
    }

    }
    }