读书人

简单递归有关问题

发布时间: 2011-12-15 23:41:24 作者: rapoo

简单递归问题
递归生成
*
**
***
****
****
***
**
*
我的代码如下,不知道有没有更简便的方法?
public static void dd(int begin,int level){
if (level>0){
b(begin);
System.out.print("\n");
dd(begin+1,level-1);
b(begin);
System.out.print("\n");
}
}

public static void b(int n){
if (n>0){
System.out.print("*");
b(n-1);
}
}

[解决办法]

Java code
public static void dd(int n)    {        for(int i=0;i<n;i++)        {            for(int j=0;j<=i+1;j++)            {                System.out.print("*");            }            System.out.print("\n");        }        for(int i=n;i>0;i--)        {            for(int j=0;j<i+1;j++)            {                System.out.print("*");            }            System.out.print("\n");        }    }
[解决办法]
这样行不?
public class test{
public test(int len){
System.out.println(f(len,len,len));
}
public String f(int x,int y,int len){
return y<0?"":(x<=len/2-Math.abs(y-len/2-1)?"*":" ")+(x==len?"\n":"")+f(x==0?len:x-1,x==0?y-1:y,len);
}
public static void main(String args[]){
new test(7);
}
}
[解决办法]
[code=java]
public class PrintSign{
private static final int N = 5;
public static void main(String[] args) {
for(int i=1; i <=N; i++) {
System.out.println(PrintSign.Sign(i));
}
for(int i=N; i>0; i--) {
System.out.println(PrintSign.Sign(i));
}

}
public static String Sign(int n) {
if (n == 1)
return "*";
else
return ("*" + Sign(n-1));

}
}
[/code]
[解决办法]
Java code
public   class   PrintSign{       private   static   final   int   N   =   5; public   static   void   main(String[]   args)   {                 for(int   i=1;   i <=N;   i++)   {                           System.out.println(PrintSign.Sign(i));                   }                 for(int   i=N;   i> 0;   i--)   {                           System.out.println(PrintSign.Sign(i));                   }                     }         public   static   String   Sign(int   n)   {                 if   (n   ==   1)                       return   "*";                 else                         return   ("*"   +   Sign(n-1));           } } 

读书人网 >J2SE开发

热点推荐