1
12
123
1234
12345
这样一个图形请问如何用java递归方法打印

解决方案 »

  1.   

    1.常规方法public static void main(String[] args) {
    Test3.display(5);
    }

    public static void display(int row){
    for(int i=1;i<=row;i++){
    for(int j=1;j<=i;j++){
    System.out.print(j);
    }
    System.out.println();
    }
    }
    2.递归方法public static void main(String[] args) {
    Test3.display(5,1); //传递初始值
    }
    /**
     * @param row 就是要打印几行
     * @param count 从第几行开始打印
     */
    public static void display(int row,int count){
    for(int i=1;i<=count;i++){
    System.out.print(i);
    }
    System.out.println(); //换行
    if(count<row){
    display(row, ++count); //有限度的递归
    }
    }
      

  2.   

        int print(int i) {
    if (i == 1){
        System.out.println(i);
        return 1;
    }

    int result = print(i - 1) + 1;
    for(int a = 1; a <= result; a++)
        System.out.print(a);
    System.out.println("");

    return result;
        }