【发布时间】:2014-09-25 20:19:21
【问题描述】:
我正在尝试使用我从 C 编程中获得的知识来学习 Java。在 C 中,我喜欢三元运算。我正在尝试在 Java 中应用它,但我不确定我是否做得正确。对于以下从1 到n 求和的递归方法,我有以下内容:
public static void main(String[] args){
int n = 6;
System.out.printf("sum of %d is %d ", n, new learn().sum(n));
}
public int sum(int num){
int result;
result = (num == 1) ? result = 1 : result = num + sum(num - 1);
}
这给了我一个错误,指出+ 是未定义的。如果有人能指出我的错误在哪里,那将不胜感激!
【问题讨论】:
-
sum的返回类型为void。 -
它有效,但它是错误的 - 在 Java 和 C 中。
-
您不应该就地编辑它。这种改变一切。
标签: java recursion ternary-operator