Java递归的一般概念
下面是java中的一个简单递归问题。这个我一直在努力,但需要改进我的方法
编写一个带有两个int参数m和n的递归方法。前提条件要求0<;=m和m<;=n、 该方法打印一行m个星号,然后打印一行m+1个星号,依此类推,直到打印出一行n个星号。然后,同样的模式被向后重复:一行n个星号,然后n-1,依此类推到n。实现中唯一允许的循环是打印一行m个星号的循环
这就是我目前掌握的测试方法
package Recursion;
class Asterisk
{
public static void asterisk(int m, int n)
{
if (m == n)
{
printAsterisk(n);
return;
}
else if (m < n)
{
printAsterisk(m);
asterisk(m + 1, n);
}
else
{
printAsterisk(m);
asterisk(m - 1, m);
}
}
public static void printAsterisk(int m)
{
for (int i = 0; i < m; i++)
{
System.out.print("*");
}
System.out.println("");
}
public static void main(String[] args)
{
int m = 3;
int n = 5;
asterisk(m, n);
asterisk(n, m);
}
}
共 (0) 个答案