本帖最后由 fantacyleo 于 2014-8-8 10:19 编辑
结果正确,形式也正确。不过一般不推荐这么写,因为你这里对外暴露了递归函数中用到的变量rs,破坏了函数的封装性,而一般来说这是可以避免的。比较好的写法是:
- class Demo
- {
- public static void main(String[] args)
- {
- System.out.println(func(4));
- }
- static int func(int num)
- {
- if (num>0)
- {
- return num + func(num - 1);
- }
- else
- {
- return 0;
- }
- }
- }
复制代码
如果你非要用一个变量专门表示和,也可以这样写:
- class Demo
- {
- public static void main(String[] args)
- {
- System.out.println(func(4), 0);
- }
- static int func(int num, int sum)
- {
- if (num>0)
- {
- return func(num - 1, sum + num);
- }
- else
- {
- return sum;
- }
- }
- }
复制代码 |