在
array[0]=7
array[1]=3
array[2]=6
array[3]=1
我想将数组索引用作循环中的计数器并对数组的值进行求和
离。计数器从索引2开始,返回7. 6 + 1
或
计数器从索引1开始并返回10. 3 + 6 + 1
public class ar {
static int[] a = new int[8];
{
a[0]= 6;
a[1]= 5;
a[2]= 34;
a[3]= 53;
a[4]= 2;
a[5]= 7;
a[6]= 31;
a[7]= 60;
}
static int b(int num){
int c = 0;
for(int i = a[num]; i<a.length; i++) {
c = c + a[num];
}
return c;
}
public static void main(String[] args) {
System.out.println(b(2));
}
}
在任何索引处返回0。我想我在
错误地混合了索引和值int i = a[num]
和
c = c + a[num];
答案 0 :(得分:1)
尝试使用b
方法:
int c=0;
for(int i=num; i<a.length;i++){
c = c + a[i];}
return c;
答案 1 :(得分:1)
只是一个小小的改变:
static int b(int num){
int sum = 0;
for (int index = num; index < a.length; index++) {
sum = sum + a[index];
}
return sum;
}
您从错误的索引开始而没有访问正确的元素(不使用i
)。
您需要将static
关键字添加到初始值设定项中。否则,只有在创建类的实例时才会执行代码,而不是静态的实例。
static {
a[0]= 6;
a[1]= 5;
a[2]= 34;
a[3]= 53;
a[4]= 2;
a[5]= 7;
a[6]= 31;
a[7]= 60;
}
注意:尝试为代表其功能的变量指定名称。它将有助于使您的代码更具可读性。在这个例子中,很明显你打算做什么,但在更复杂的情况下,没有它会变得混乱。