python程序输出三角形的星号用递归函数_Java练习:使用递归方法打印星号三角形及其倒三角形...

I need to print a triangle and its inverted triangle (standing on its tip). I manage to print out only the triangle. I know I can easily use for loop but I want to know how to make use recursion and in my case, I don't know how to print the both triangle and the inverted one.Thank you.

Example desired output:

*

**

***

****

****

***

**

*

My code:

public class Recursion1 {

public static void main(String[] args) {

Recursion1 me = new Recursion1();

me.doIt();

}

public void doIt() {

nums(4);

}

public String nums(int counts) {

if (counts <= 0) {

return "";

}

String p = nums(counts - 1);

p = p +"*";

System.out.print(p);

System.out.println();

return p;

}

}

My result:

Results:

*

**

***

****

解决方案

You have to rethink the problem, this could be a possible solution:

public class Recursion1 {

private static int endValue;

private static int startValue = 1 ;

public Recursion1(int endValue){

Recursion1.endValue = endValue;

}

public static void main(String[] args) {

Recursion1 me = new Recursion1(4);

me.doIt();

}

public void doIt() {

nums("*");

}

public String nums(String value) {

if( startValue == endValue){

System.out.println(value);

}else{

System.out.println(value);

startValue ++;

value = value.concat("*");

nums(value);

value = value.substring(1);

System.out.println(value);

}

return value;

}}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值