递归方法:列和行(网格)

时间:2013-12-10 19:21:16

标签: java recursion methods grid rows

我需要开发一个递归方法,允许用户输入两个数字(比如6和5)并给我一个这样的网格:

$ $ $ $ $

$ $ $ $ $

$ $ $ $ $

$ $ $ $ $

$ $ $ $ $

有5列6行。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

这是一个simlpe c#one。你必须将写行更改为java我猜,但它应该工作相同。

您将使用print_rec(4,2);调用它,它将调用另一个将执行此工作的递归调用。注意我们想要行-1和列-1,否则你会得到一个额外的(如果你比较0,当你达到1时,你当然可以停止递归,但它很混乱)。
另请注意,我们需要一个额外的变量来记住当前打印字符的位置。

public void print_rec (int rows, int columns {
    rec1(rows-1,columns-1,columns-1);
}

public void recursive_print(int rows, int columns, int current) {
    Console.Out.Write("#");
    if (rows==0 && current ==0)
        return;
    else if (current == 0) {
    Console.Out.WriteLine();
        rec1 (rows-1, columns, columns);}
    else
        rec1 (rows, columns, current-1);
}