Java 矩阵中的和元素
我试图对矩阵中一行的所有元素求和,我很确定这会输出一条错误消息(索引超出范围),因为我以前在Python中总是犯这个错误。我也想把循环中的元素求和!Java 矩阵中的和元素,java,matrix,Java,Matrix,我试图对矩阵中一行的所有元素求和,我很确定这会输出一条错误消息(索引超出范围),因为我以前在Python中总是犯这个错误。我也想把循环中的元素求和! (此矩阵只有一列和X行。对不起,我没有澄清) 公共类cls\u ejercicio7\u d{ 塔马诺私人酒店; 私有字符串[]列表名称; 私人双[][]lista_km; 公共目录(int tamaño、字符串列表名称[]、双列表公里[]){ this.lista_km=lista_km; this.lista_nombres=lista_nom
(此矩阵只有一列和X行。对不起,我没有澄清)
公共类cls\u ejercicio7\u d{
塔马诺私人酒店;
私有字符串[]列表名称;
私人双[][]lista_km;
公共目录(int tamaño、字符串列表名称[]、双列表公里[]){
this.lista_km=lista_km;
this.lista_nombres=lista_nombres;
这个。塔玛诺=塔玛诺;
}
公共双精度[]结果(整数塔马诺,字符串列表名称[],双精度列表千米[]){
双倍总数;
double[]lista_totales=新的double[tamaño][1];
对于(int i=0;i
而不是
double [][]lista_totales=new double[tamaño][1];
做
及
for(int j=0;j
而不是
double [][]lista_totales=new double[tamaño][1];
做
及
for(int j=0;j
错误来自此行:
总计=lista_km[i][j]+lista_km[i][j+1]
您正在使用j+1
。假设您的矩阵有8列,那么对于这一列,它将尝试检索j[8]
,这是错误的,因为j只有索引7
还有lista_totales=[tamaño][1]
lista_totales[i][j]
也将引发异常
您可能希望更改为以下内容:
public double [][] resultados(int tamaño,String lista_nombres[],double lista_kilometraje[][]){
double total;
double [][]lista_totales=new double[tamaño][1];
for (int i = 0; i < tamaño; i++) {
total = 0 ;
for (int j = 0; j < tamaño; j++) {
total+=lista_kilometraje[i][j];
}
lista_totales[i][1]=total;
}
return lista_totales;
}
public-double[]resultados(int-tamaño,String-lista_-nombres[],double-lista_-km[])){
双倍总数;
double[]lista_totales=新的double[tamaño][1];
对于(int i=0;i
错误来自此行:
总计=lista_km[i][j]+lista_km[i][j+1]
您正在使用j+1
。假设您的矩阵有8列,那么对于这一列,它将尝试检索j[8]
,这是错误的,因为j只有索引7
还有lista_totales=[tamaño][1]
lista_totales[i][j]
也将引发异常
您可能希望更改为以下内容:
public double [][] resultados(int tamaño,String lista_nombres[],double lista_kilometraje[][]){
double total;
double [][]lista_totales=new double[tamaño][1];
for (int i = 0; i < tamaño; i++) {
total = 0 ;
for (int j = 0; j < tamaño; j++) {
total+=lista_kilometraje[i][j];
}
lista_totales[i][1]=total;
}
return lista_totales;
}
public-double[]resultados(int-tamaño,String-lista_-nombres[],double-lista_-km[])){
双倍总数;
double[]lista_totales=新的double[tamaño][1];
对于(int i=0;i
以下行出现问题
total = lista_kilometraje[i][j] + lista_kilometraje[i][j + 1];
在这里,您的j循环迭代到jj < tamaño-1
j
以下行出现问题
total = lista_kilometraje[i][j] + lista_kilometraje[i][j + 1];
在这里,您的j循环迭代到jj < tamaño-1
j
此矩阵只有一列和X行。对不起,我没有澄清。谢谢,我完全忘记了。哈哈,我知道这个矩阵只有一列和X行。对不起,我没有澄清。谢谢,我完全忘记了。哈哈,我明白了@nimi0112,也收到了,我完全忘记了哈哈,谢谢你,所以每次第一次循环都需要重置total=0
,否则:)是的@nimi0112,我也知道了,我完全忘记了哈哈谢谢你,所以每次第一次循环都需要重置total=0
,否则:)