写一个递归方法writeBlock,用他输出M行N列,如,writeBlock("*",5,3)产生的输出为:
*****
*****
*****
谢谢

解决方案 »

  1.   


    public class AAA { public void writeBlock(String srt, int m , int n){
    if(n<1)
    return;
    else{
    for(int i = 0 ; i<m; i++){
    System.out.print(srt);
    }
    System.out.println();
    writeBlock(srt, m , n-1);
    }
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub AAA ex = new AAA();
    ex.writeBlock("*", 5, 3);
    }}
      

  2.   

    能不能把for(int i = 0 ; i<m; i++)去掉?
    里面不要有循环。全用递归做出来?
      

  3.   

    public class AAA {
    int a=0;
    int b=0;
    public void writeBlock(String srt, int m , int n){
    if(n>0){
    if(m>0){
    System.out.print(srt);
    a++;
    writeBlock(srt,m-1,n);
    }
    else {
    System.out.println();
    b++;
    m=a/b;
    writeBlock(srt,m,n-1);
    }
    }
    }
    public static void main(String[] args) {
    AAA ex = new AAA();
    ex.writeBlock("*", 4, 4);
    }
    }
    嗬嗬,随便写了一个。不太会递归,不知道怎么样!!
    还望高手指点一下!!!!!!!!!!
      

  4.   

    void writeBlock(char ch, int num, int time) {
            if (time < 1) return;        for (int i = 0; i < num; i++) {
                    cout << '*';
            }
    cout << endl;
            writeBlock(ch, num, time-1);
    }
      

  5.   

    汗。。
    若大一个CSDN没人会解