不知道这个题的逻辑是什么不知道那位高手大哥能帮忙。
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
//提示
void prints(int k)
{
if (k!=0)
{
prints(k-1);
int i;
for i=1;i<=k;i++
System.out.print(i+"");
System.out.printl();
}
}

解决方案 »

  1.   

    设函数f(int k)代替{
      for i=1;i<=k;i++
      System.out.print(i+"");
      System.out.println();
    }则prints(int k)其实就是{
    f(1);
    f(2);
    .
    .
    .
    f(k);
    }
      

  2.   

    class Recursion{
    public static void getRecursion(int n){
    if (n>1)
    getRecursion(n-1);
    for(int i=1;i<=n;i++)
    System.out.print(i);
    System.out.println();
    }
    public static void main(String args[]){
    Recursion.getRecursion(6);
    }
    }
    完整代码
      

  3.   

    楼上的if (n>1)应该是if(n>0) 吧?
      

  4.   

    Recursion.getRecursion(6);应该是Recursion.getRecursion(5);
      

  5.   

    Recursion.getRecursion(6);
    里面的参数是打印到几还有if语句 中
    n〉1 跟n〉0
    没有多大的差别
      

  6.   

    总结:
    public class prints {
       public static void prints(int k)
        {
            if (k != 0)
            {
                prints(k - 1);
                int i;
                for (i = 1; i <= k; i++)
                {
                    System.out.print(i+" ");
                }
            System.out.println();         
    }

        public static void main(String[] args) {
       int k;
           k=5;
           prints(k); 
        }  
        }对不对呀!!!
      

  7.   

    for(int i=1;i<=k;i++){
    for(int j=1;j<=i;j++){
    System.out.print(j+" ");
    }
    System.out.print("\n");
    }
    k是你外部传进的参数,把你的一层for循环改为两层循环就ok了。
      

  8.   

    public class Test
    {
    static void print(int k)
    {
    if (k>0)
    if (k!=1)
    {
    print(k-1);
    for(int i=1;i<=k;i++)
    {
    System.out.print(i);
    }
    System.out.println("");
    }
    else
      System.out.println("1");

    }
    public static void main(String[] args)
    {
    print(new Integer(args[0]).intValue());
    }
    }