【发布时间】:2016-01-15 00:51:43
【问题描述】:
我要写一个java代码(不是功课)
我们采用一个方法 int n 并返回:
如果 (n 正数和奇数)--> 1+3+5+...+n
If (n 正偶数) --> 2+4+6+..+n
如果(n 为负数或零)--> 返回 0
我知道如何分别做这三个,但是一起做呢?
例如 If (n 正偶数) --> 2+4+6+..+n
public int addeven(int n)
{
if(n<0)
{
return 0;
}
if(n%2 != 0 && n>0 )
{
return (n+addeven(n-1));
}
}
还有这里的 return (n+addeven(n-1)) 到底是什么意思?
【问题讨论】:
-
如果不是作业,什么样的应用需要这个功能? :-D
-
无。我正在自学 Java,这是书中解决的一个示例,但我正在尝试自己做这件事,因为我一直遇到递归问题。
-
这不应该编译。具有非 void 返回类型的方法必须在每个可能的执行路径上都有一个 return 语句。你的方法不满足那个条件。