拜求各位大侠解答下,如何用递归算法打印这样的三角形?
    *
   **
  ***
 ****
*****
我实在是想不出来了!
谢谢!

解决方案 »

  1.   


    public void print(int k)
    {
    for(int i=1;i <=k;i++) 
            {  for(int j=1;j <i+7;j++) 
                  if(j <=7-i) 
                   System.out.print(" "); 
               for(int k=0;k <i;k++) 
                   System.out.print(" *"); 
               System.out.println(); 
            } 
    }这是用一般方法做的,你可以参考一下,
      

  2.   

    递归实在是没什么必要。
    public static void main(String[] args) { printTriangle(5);
    }
    static void printTriangle(int len){
    printT(len-1,1);
    }
    static void  printT(int blank,int star){
    if(blank<0){
    return;
    }
    for(int i=0;i<blank;i++){
    System.out.print(" ");
    }
    //for(int i=0;i<star*2-1;i++){  这样更像三角形
    for(int i=0;i<star;i++){
    System.out.print("*");
    }
    System.out.println();
    printT(blank-1,star+1);
    }
      

  3.   

    public class Recur { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    int k=4;
    print(k);
    }

    public static void print(int k)
    {
    int i=0;
    if(k==1)
    {
    System.out.println("* ");
    }
    else
    {
    print(k-1);
    for(i=0;i<k;i++) 
    System.out.print("* ");
    System.out.println("");
    }
    }}
    这样可以吗
      

  4.   

    public void aa(int i){
    int t=5-i;
        if(i<5){
              for(int j=0;j<t;j++){
                      System.out.print(" ");
             }
              for(;t<5; t++){
                      System.out.print("*");
             }
          aa(++i);
      }
    }
      

  5.   

    递归void print(int max){
        if(max>1){
            print(max-1);
        }
        myprint(max);
    }void myprint(int length){
        实际打印代码;
    }
      

  6.   

    class A{
    int i;
    public void Aprint(int a){
    for(i=0;i<a;i++)
    System.out.print(" ");
    for(i=a;i<5;i++)
    System.out.print("*");
    }
    }
    public class B{
    public static void main(String args[]){
    int i;
    A a=new A();
    for(i=5;i>=0;i--){
    a.Aprint(i);
    System.out.println();
    }
    }
    }
    9楼写的很好了.到,我一写就写了2个类.