一个递归方法,想不出来,帮忙想想

来源:百度知道 编辑:UC知道 时间:2024/06/06 15:52:02
写一个能产生n行星号的图案的递归程序.第一行包含一个星号,下一行包含两个,如此增加下去直到第n行包含n个星号.第n+1行包含n个星号,下一行包含n-1个,这样下去直到第2n行只有一个星号.

用递归完成,只允许有一个参数.

楼上的递归会整死LZ的机子~~
用下面的吧!~
public class PrintStar {
private int count;
public PrintStar(int levels) {
count=levels;
print(1);
}
public void print(int a) {
String s="";
for (int i = 0; i < a; i++) {
s+="*";
}
System.out.println(s);
if(a==count)
return;
print(++a);// 递归调用
System.out.println(s);
}
public static void main(String[] args) {
new PrintStar(2);
}
}

public class Test {
public static void main(String[] args) {
Scanner s = new Scanner(System.out);
int num = s.nextInt();
Test test = new Test();
test.printStar(num);

}
public void printStar(int num) {
for(int i = 1; i <= num; i++) {
System.out.println("*);
}
for(int j = num-1; j >= 0; j--) {
System.out.println("*");
}
}
}

publ