【发布时间】:2023-03-30 23:34:01
【问题描述】:
在这种情况下,程序应该将所有数组加在一起。但是,如果我在 sum 方法参数中输入 1,它将从 7 开始计数,但如果我输入 0,它会输出 0。
public class sList {
public static void main(String[]args) {
int[] array = {10,7,11,5,13,8}; // How do I make it read the value 10 as 1 in the array?
sum(array.length,array);
}
public static int sum(int n, int[] S) {
int i;
int result;
result = 0;
for(i=1;i<=n;i++)
result = result + S[i];
System.out.println(result);
return result;
}
}
【问题讨论】:
-
for(i=0;i<=n-1;i++) .. -
我猜您不仅将 1 更改为 0,而且还更改了其他内容,导致结果为 0。否则将 1 更改为 0 会产生正确的结果(除了您还需要将
n更改为n-1或<=为<,但这不会导致0,而是IndexOutOfBoundsException)。 -
最好的选择是删除数组长度形式的参数。
-
for(i=1;i<=S.length;i++){ result = result + S[i-1]; }