Java 矩阵中的和元素

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

我试图对矩阵中一行的所有元素求和,我很确定这会输出一条错误消息(索引超出范围),因为我以前在Python中总是犯这个错误。我也想把循环中的元素求和!
(此矩阵只有一列和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循环迭代到j 您可以尝试使用for循环

j < tamaño-1
j
以下行出现问题

total = lista_kilometraje[i][j] + lista_kilometraje[i][j + 1];
在这里,您的j循环迭代到j 您可以尝试使用for循环

j < tamaño-1
j
此矩阵只有一列和X行。对不起,我没有澄清。谢谢,我完全忘记了。哈哈,我知道这个矩阵只有一列和X行。对不起,我没有澄清。谢谢,我完全忘记了。哈哈,我明白了@nimi0112,也收到了,我完全忘记了哈哈,谢谢你,所以每次第一次循环都需要重置
total=0
,否则:)是的@nimi0112,我也知道了,我完全忘记了哈哈谢谢你,所以每次第一次循环都需要重置
total=0
,否则:)