在这种情况下,程序应该将所有数组添加到一起。但是,如果我在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;
}
}
答案 0 :(得分:8)
我不会通过这个长度,因为:
array.length
告诉你长度,如果你想知道它相反,只需使用foreach loop:
遍历传入的整个数组public static int sum(int[] array) {
int result = 0;
for (int i : array)
result += i;
return result;
}
这样做会减少代码,反过来又更容易阅读和理解。
答案 1 :(得分:2)
好吧,数组索引以zero
开头,我想到的唯一方法是在获取值时递减i的值。
int[] s = {10,7,11,5,13,8};
for(i=1;i<=n;i++){
result = result + S[i-1];
}
答案 2 :(得分:0)
您应该更改for循环:
,而不是更改数组for(i=0;i<n;i++)
但是如果你不想这样做,你总是可以把第一个元素设为0:
int[] array = {0, 10,7,11,5,13,8};
答案 3 :(得分:0)
想一想,它在0上的重要性(否则在1):
案例0 :( n =长度= 6) 0,1,2,3,4,5,6
案例1:(n = 6) 1,2,3,4,5,6
字面填充数组中的位置: 0,1,2,3,4,5
在任何一种情况下,元素6都不在数组中,因此存在错误。在案例1中,您“忘记”计算索引为0的第一个元素。
这就是为什么你要写: for(i = 0; i <= n-1; i ++)
答案 4 :(得分:0)
然后继续将for循环设置为加1值,以便0数组值准确反映相对索引!
for (int i = 0; i < helloArray.length; i++) {
if (i == max) {
System.out.println(helloArray[i]);
System.out.println("=");
System.out.println(i+1);
}