在
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];
最佳答案
只是一个小小的改变:
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;
}
注意:尝试为代表其功能的变量分配名称。它将有助于使您的代码更具可读性。在这个例子中,你想要做什么是非常明显的,但在更复杂的例子中,如果没有的话,它会变得困惑。
关于java - 在循环中使用数组索引作为计数器来求和其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30273985/