java如何用方法的递归调用实现如图的结果

如题所述

第1个回答  2015-12-14
public class Egg{
    public static void recursion(int i, int num){
        if(i > num) return;
        for(int j = 0; j < i; j++){
            System.out.print("* ");
        }
        System.out.println();
        recursion(++i, num);
    }
    public static void main(String[] args){
        recursion(1, 9);
    }
}

追问

老师给的开头是这样的 public String writeshape(int t)

(ಥ_ಥ)

要求返回字符串

第2个回答  2015-12-14
太模糊,你输出的图案是数字还是* 号呢,这种输出不难,就是看不清你的图,不然就给你写了追问

随便都可以

追答public static void print1_1(int num) {
if (num > 0) {
print1_1(num - 1);
for (int i = 0; i < num; i++) {
System.out.print("* ");
}
System.out.println();//换行输出
}
}

追问

老师给的开头是这样的 public String writeshape(int t)

要求返回字符串

追答public static String writeshape(int t) {
StringBuffer sb = new StringBuffer();// 对于需频繁拼接字符串的操作,用这个对象
if (t > 0) {
sb.append(writeshape(t - 1));
for (int i = 0; i < t; i++) {
// System.out.print("* ");
sb.append("* ");
}
sb.append("\n");
// System.out.println();//换行输出
}
return sb.toString();
}

追问

append啥意思

追答

就是表示把括号内的字符串拼接到已有字符串的末尾

追问

sb是什么意思

追答

额,别在意,那只是变量名,stringbuffer这个你可以网上搜搜了解下

追问

你逗我

追答

噗,我这叫遵循Java命名规则,采用缩写

追问

屁,你真以为我不懂啊

全称呢

追答

额,变量命随便,因为它的类命叫stringbuffer,所以简单写做sb,也可以写作s,这都是个人习惯啦

本回答被提问者和网友采纳
相似回答
大家正在搜