package Testdemo;
public class testReturn {
public static void main(String[] args) {
System.out.println(addNum(100));
}
public static int addNum(int num) {
if(num==1) {
return 1;
}else {
return num+addNum(num-1);//为什么这里要填(num-1)?如果不填就报错?要实现100+99+..+1=?+addNum(num-1)这一段什么意思?
}
}
}
为什么这里要填(num-1)?如果不填就报错?要实现100+99+..+1=?+addNum(num-1)这一段什么意思?
这明显是个递归呀
你不填num-1也至少要填个跟num有关的表达式,并且必须是逐渐递减的,而且要保证最终num是1,否则就是无限递归
所有循环都可以写成递归的形式,这里递归也可以写成循环的形式
for(num=100;num>=1;num--)
sum+=num;
这就是了。如果num不减1,那不是死循环吗