在Java编程中,只用一个for循环再加上递归编写程序

2025-04-04 21:22:31
推荐回答(3个)
回答1:

public class stars{
public static void main(String args[]){
int rows,n;
rows=n=5;
printStars(n,rows);
}
public static void printStars(int n,int rows){
if(n==0){
return;
}else{
printStars(n-1,rows);
for(int i=0;i if(i System.out.print(" ");}else{
System.out.print("* ");
}
}
System.out.println();
}
}
}

这个应该是正确的,你试一下吧,只用了一个for循环

回答2:

public static void main(String[] args) {
m(5,1);

}

public static void m(int lineNum,int currentLine){
if(currentLine-1==lineNum)return;
int max=lineNum-currentLine>currentLine?lineNum-currentLine:currentLine;
StringBuffer sb1=new StringBuffer("");
StringBuffer sb2=new StringBuffer("");
for(int i=0;i if(i sb1.append(" ");
if(i sb2.append("* ");

}
System.out.print(sb1.toString());
System.out.print(sb2.toString());
System.out.println();
m(lineNum,++currentLine);
}

回答3:

public class Graphics2 {
static void method(int a,int n){
if(a==0)return;
for(int i=0;i System.out.print(" ");
for(int i=a;i<=n;i++)
System.out.print("* ");
System.out.println();
method(a-1,n);
}
public static void main(String[] args) {
int hang=5;//行数,可以修改
method(hang,hang);
}
}