我想知道递归方法是如何工作的,以便打印由包含较小X的较大X组成的较大X,输入编号保证为奇数。递归方法如何打印页面
“宽度”是沿一条线大X. X的
示例的宽度的输入数= 3 的X的方法将打印该形状的长度(数)!
X X
X
X X
我试图解决这个问题,但我不能 可以在这里任何人帮助我..在Java代码中 ,
这是我的代码,他的作品不错,但打印错了,当numberinput = 7 5
public static String shape(String i,int numberinput) {
//error check, not working for even numbers
if(numberinput%2 == 0)
return null;
//terminating condition, stop recursion when this occurs.
if(numberinput == 1)
return "X";
else
return "X"+" "+i+"\n" +" "+shape(" "+i,numberinput-2)+" "+"\n"+i+" "+"X";
}
他打印时此numberinput = 5
X X
X X
X
X X
X X
条件'numberinput%2 == 0' with'numberinput-2'将始终为真或者将始终为假 – Guy
而且您并未在任何地方使用'i'。你想要实现的逻辑是什么? – biziclop