void draw(int n){
    if(n==1) system.out.println("*");
    else{
      draw(n-1);
      for(int i=0;i<n;i++)
            system.out.print("*");
      system.out.println();
    }
} void drawx(int n){
     if(n==1) system.out.println("*");
     else{
     for(int i=0;i<n;i++)
            system.out.print("*");
     system.out.println();
     drawx(n-1);
     for(int i=0;i<n;i++)
            system.out.print("*");
     system.out.println();
   }
}

解决方案 »

  1.   

    public static void print(int index,boolean flag)
    {
    for(int i = 0 ; i < index ; i++)
    {
    System.out.print('*');
    }
    System.out.println();
    if(index < 5 && flag == false)
    {
    index++;
    print(index,false);
    }
    else if(index == 5 && flag == false)
    {
    index--;
    print(index,true);
    }
    else if(flag == true && index >1)
    {
    index--;
    print(index,true);
    }
    }
    另一个和这个差不多
      

  2.   

    不好意思,第一题错了
    public class Test{
    static int flag=0;

    public static void main(String args[]){
    //drawx(4);
    draw(4);
    }
    static void drawx(int n){
            if(n==1) System.out.println("*");
             else{
            for(int i=0;i<n;i++)
                System.out.print("*");
            System.out.println();
            drawx(n-1);
             for(int i=0;i<n;i++)
                  System.out.print("*");
           System.out.println();
         }
        }
        
        static void draw(int n){
         if(n==1){
            for(int i=0;i<1+flag;i++)
              System.out.print('*');
            System.out.println();
            }
         else{
            for(int i=0;i<1+flag;i++)
              System.out.print('*');
            System.out.println();
            flag++;
            draw(n-1);
            flag--;
            for(int i=0;i<1+flag;i++)
              System.out.print('*');
            System.out.println();
            }
        }
     
    }