简单的递归算法

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:20:31
要求用递归算法编写几个程序要求程序输出结果是:
(当输入5时)
*****
****
***
**
*
*
**
***
****
*****

要求:最好用java语言编写
备注:我虽然用java语言实现了,但是我自认为很不好,因为这个对"对象"的依赖太大,没有什么价值,一下是我的代码:
public class TestDrawStar {
public int lev;
public int n;
public TestDrawStar(int n){
this.n=n;
this.lev=2*n;
}
public void drawStar(int n,int level) {

if (level <= lev) {
if (n != 0) {
for (int i = 0; i < Math.abs(n); i++) {
System.out.print("*");
}
System.out.println();
level++;
}

drawStar(n-1,level);
}
}

public static void main(String[] args) {
TestDrawStar ds = new TestDrawStar(5);
ds.drawStar(5,1);
}
}

我不明白什么是对对象依赖太大。这个全用static,不存在对象:)
public class DrawStar {
public static void main(String[] args) {
drawStar(5);
}

private static void drawStar(int n) {
if (n > 0) {
drawLine(n);
drawStar(n - 1);
drawLine(n);
}
}

private static void drawLine(int n) {
for (int i = 0; i < n; i++)
System.out.print("*");
System.out.println();
}
}