这是java中的一个简单的递归问题。这一个我一直在努力,但需要改进我的方法。Java递归通用概念
用两个int参数m和n编写一个递归方法。前提条件需要0 < = m和m < = n。该方法打印一行m个星号,然后打印一行m + 1个星号,依此类推,直到一行n个星号。然后相同的模式向后重复:一行n星号,然后n-1,依此类推直到n。在您的实现中允许的唯一循环是打印一行星号的循环。
这是我到目前为止的测试方法
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);
}
}
他在询问有关实施递归的帮助。循环显然是任务允许他拥有的循环。 – Raniz