【发布时间】:2016-10-04 03:12:58
【问题描述】:
我正在尝试创建一个函数 sum,然后在 main 中调用它,但我遇到了编译时错误,我不明白为什么这是不正确的。
class FindSum {
int sum(int[] arr) {
int sum = 0; // O(1)
for (int i = 0; i < arr.length; i++) { // n times
sum += arr[i]; // O(1)
}
return sum; // O(1)
}
// Driver program to test above functions
public static void main(String[] args) {
int arr[] = new int[]{5, 5, 10, 100, 10, 5};
System.out.println(sum(arr));
}
}
【问题讨论】:
-
如果您能真正告诉我们错误是什么,将会非常有帮助。向我们寻求调试帮助的问题显然是题外话。请提供一个 Minimal, Complete, and Verifiable example 来演示错误、预期和实际行为。
-
您可能应该包括编译器错误所说的内容,这是编译器错误中最重要的部分。
-
您需要将方法
sum设为静态。 @AndrewL。这是一个糟糕的问题,但它也是一个 MCVE……它是完整的,重现了问题,而且是最小的。 -
@nhouser9 你说得对,但我想强调我要求展示错误的部分,比如告诉我们它实际上是什么。
-
OP,@qazwsx123,应该有一个 IDE(就像 eclipse,它是免费的)。它使查找编译时错误和运行时错误变得更加容易,并且通常使您的生活更加轻松。如果他(她)已经有一个,那么他们需要学习如何更好地使用它。