public class XingHaoJuXing { public static void main(String[] args) {

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

  for(int n=0;n<i;n++){ //这里第一行 n=0 i=10 循环十次 当然打印10个*
System.out.print("*");
}

  for(int j=i;j<11;j++){ //这里第一行j=10 j<11 你说循环几次?  
System.out.print("0");
}
System.out.print("\n");

}
}
}

解决方案 »

  1.   

    多谢 flyfoxx(fox) 、、真是一语惊醒梦中人啊 !!看看我写的对不对 、、谢谢/*
     * Created on 2004-8-22
     *
     * TODO To change the template for this generated file go to
     * Window - Preferences - Java - Code Style - Code Templates
     *//**
     * @author diyer6
     *
     * TODO To change the template for this generated type comment go to
     * Window - Preferences - Java - Code Style - Code Templates
     */
    /*
    此图是打印结果:0**********
    00*********
    000********
    0000*******
    00000******
    000000*****
    0000000****
    00000000***
    000000000**
    0000000000* */
    public class Zaishi { public static void main(String[] args) {
    for(int i=10;i>0;i--){
    for(int j=i;j<11;j++){ //j=10;j<11;循环一次,所以在第一行只打印一个 0 。
    System.out.print("0");}
    for(int n=i;n>0;n--){ /*n=10;n>0;循环一次,打印一个 * ,在执行n--,
                          *此时n=9;n>0;再循环一次,再打印一个 * ,在执行n--,
                          *此时n=8;n>0;再循环一次,再打印一个 * ,在执行n--,
                          *依次类推... 所就在第一行打印了10个 * 。
                          *接下来执行 System.out.print("\n"); 换行 。
                          *然后执行第一个大循环中的 i-- ; 此时 i 就等于 9 了。
                          *
                          *这时 第一个小循环 中:(j=i 从 i=9 开始循环)
                          *j=9;j<11;循环两次,所以在第二行只打印 2 个 0 。
                          *这时 第二个小循环 中:(n=i 从 i=9 开始循环)
                          *n=9;n>0;循环一次,打印一个 * ,在执行n--,
                          *此时n=8;n>0;再循环一次,再打印一个 * ,在执行n--,
                          *依次类推... 所就在第二行打印了 9 个 * 。
                          *接下来执行 System.out.print("\n"); 换行 。
                          *然后执行第一个大循环中的 i-- ; 此时 i 就等于 8 了。
                          *
                          *往下 依次类推....
                      */
    System.out.print("*");
    }

    System.out.print("\n");
    }
    }
    }此图是打印结果:0**********
    00*********
    000********
    0000*******
    00000******
    000000*****
    0000000****
    00000000***
    000000000**
    0000000000*
      

  2.   

    public class Zaishi { public static void main(String[] args) {
      for(int i=10;i>0;i--){
       for(int j=i;j<11;j++){ //j=10;j<11;循环一次,打印一个 0 ,在执行 j++ ,
                                       //此时j=11;i<11;为false,所以在第一行只打印了一个 0 。
       System.out.print("0");}
       for(int n=i;n>0;n--){ /*n=10;n>0;循环一次,打印一个 * ,在执行n--,
                             *此时n=9;n>0;再循环一次,再打印一个 * ,在执行n--,
                             *此时n=8;n>0;再循环一次,再打印一个 * ,在执行n--,
                             *依次类推... 所就在第一行打印了10个 * 。
                             *接下来执行 System.out.print("\n"); 换行 。
                             *然后执行第一个大循环中的 i-- ; 此时 i 就等于 9 了。
                             *
                             *这时 第一个小循环 中:(j=i 从 i=9 开始循环)
                             *j=9;j<11;循环两次,所以在第二行只打印 2 个 0 。
                             *这时 第二个小循环 中:(n=i 从 i=9 开始循环)
                             *n=9;n>0;循环一次,打印一个 * ,在执行n--,
                             *此时n=8;n>0;再循环一次,再打印一个 * ,在执行n--,
                             *依次类推... 所就在第二行打印了 9 个 * 。
                             *接下来执行 System.out.print("\n"); 换行 。
                             *然后执行第一个大循环中的 i-- ; 此时 i 就等于 8 了。
                             *
                             *往下 依次类推....
                          */
        System.out.print("*");
       }
      
      System.out.print("\n");
      }
     }
    }