怎么实现下面的图形:
1、第一行友谊个星号,第二个有两个星号,以此类推,第n行由n个星号
2、第n+1行有n个星号,第n+2行有n-1个星号,一直到2n行由1个星号规定用递归,那位哥们如果会的话,请会贴

解决方案 »

  1.   

    public static void main(String args[])
    {
    printStar(1,5);
    }
    public static void printStar(int i,int n)
    {
    if(i>2*n)
    return;
    if(i<=n)
    {
    for(int k=0;k<i;k++)
    {
    System.out.print("*");
    }
    System.out.println();
    }
    else
    {
    for(int k=0;k<2*n-i+1;k++)
    {
    System.out.print("*");
    }
    System.out.println();
    }
    printStar(i+1,n);

    }
      

  2.   

    import java.io.*;
    public class Test{
    private static int num=5;
    public static void main(String args[])
    {
    printStart(num=5);
    }
    public static void printStart(int n)
    {
    if(n<=0) return;
    for(int i=0;i<=num-n;i++)
    System.out.print("*");
    System.out.println();
    printStart(n-1);
    for(int i=0;i<=num-n;i++)
    System.out.print("*");
    System.out.println();
    }
    }
      

  3.   

    public void printStart(int n, int i) {
    if (i > (2 * n))
    return;
    int limit = 0;
    if (i > n) {
    limit = n - (i - n) + 1;
    } else {
    limit = i;
    }
    for (int j = 1; j <= limit; j++) {
    System.out.print("*");
    }
    if(i!=0)
    System.out.println();
    i++;
    printStart(n, i);
    }
      

  4.   

    我也是刚学java..但你哪个肯定不是
    虽然我不会。
    class sb{
    class printstar{
    void fact(int n){
    if(n>0)
    System.out.println("*");
    fact(n-1);
    }
    public void main(........){
    printstar ob=new printstar();
    ob.fact(N);
    ...
    ...
    ..
    }
    }
      

  5.   

    public static void main(String args[])
    {
           printStar(1,5);
    }
    public static void printStar(int i,int n)
    {
            if(i>2*n)
               return;
            if(i<=n)
            { 
               for(int k=0;k<i;k++)
               {
                  System.out.print("*");
               }
               System.out.println();
            }
            else
            {
                for(int k=0;k<2*n-i+1;k++)
               {
                    System.out.print("*");
               }
                System.out.println();
            }
            printStar(i+1,n);//递归}
    -------------------------------------------
    不会就不要乱叫.你看看是不是递归
      

  6.   

    -------------------------------------------------
    include <stdio.h>
    int KK=0;
    void starprint(int n )  {
    int i=0;
           if(n<1)return;
    for(;i<KK-n;i++) printf("*");printf("/n");
           starprint(n-1);
    for(;i<KK-n;i++) printf("*"); printf("/n");
    }main()

     int n;
     scanf("%d",&n);
     KK=n;
     starprint(n);
    }
    -----------------------------------------------
    没调试,大家试下,行不????
      

  7.   

    daizhenbest(牛牛)那个不就是递归么?
      

  8.   

    daizhenbest(牛牛)那个不是递归的精髓,写的不好