我正在编写一个代码来计算数组Volt
中所有元素的总和。到目前为止,这是我的代码:
public class Volt{
int[][] volt;
public Volt(int[][] volt){
this.volt = volt;
}
public int sum(){
int sum = 0;
for( int i = 0; i <volt.length; i++) {
for( int r = 0; r <volt.length; r++){
sum += volt[i][r];
}
}
return sum;
}
public static void main(String[] args){
int[][] a1 = { { 10, 5 }, { 2, 8 } };
Volt m1 = new Volt(a1);
System.out.println(m1.sum());
}
}
但是,即使volt
矩阵参差不齐,我也希望它能够正常工作,并不是所有行都包含相同数量的列。我做了很多研究以获得我现在的观点,但我现在可能需要改变。我很感激帮助:)
谢谢!
答案 0 :(得分:4)
不是在内部for循环中循环到volt.length
,而是循环到外循环所在的数组的长度,即volt[i].length
:
for( int r = 0; r <volt[i].length; r++){
顺便说一下,你也可以使用增强的for循环:
int sum = 0;
for (int[] a : volt)
for (int i : a)
sum += i;