public class 简单递归 {    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
             StringBuffer value = new StringBuffer();
        System.out.println(Gen(10, 2, 1, value));        
    }
     
    public static StringBuffer Gen(int n, int init_num, int init_denom, StringBuffer ans){ 
        if(n!=0)
        {
              n--;
              //ans = init_num + "/" + init_denom;
              ans.append(init_num).append("/").append(init_denom).append(" ");
              int last_num = init_num + init_denom;
              int last_denom = init_num; 
              init_num = last_num;
              init_denom = last_denom;
              Gen(n, init_num, init_denom, ans);
              return ans;
        }
        else 
            return  ans.append("结束");
    }
}
楼主你这个程序思路没有问题的,就是String字符串这儿有问题。
http://blog.csdn.net/anthow_xh/article/details/17309721你可以看看