Java - Ayuda con suma de matrices

 
Vista:
sin imagen de perfil
Val: 15
Ha disminuido su posición en 12 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda con suma de matrices

Publicado por Meneth (7 intervenciones) el 12/02/2020 20:47:50
Hola.
Me gustaría saber si pueden ayudarme con un problemilla con las matrices.
Tengo que hacer un ejercicio que consiste en desarrollar un método que reciba una matriz de enteros y un numero de fila, y sumar los valores de dicha fila dentro de la matriz
Tengo hecho esto, pero me hace una cosa muy rara, no sé por que me suma más de la cuenta
Esta es la matriz declarada:
1
2
3
4
int[][] matriz={{1,2,3,4},
                {5,6,7,8},
                {9,10,11,12},
                {13,14,15,16}};

y el método:

1
2
3
4
5
6
7
8
9
public int sumafila(int[][] matriz, int fila){
    int suma=0;
    for(int i=0;i<matriz.length;i++){
        for(int j=0;j<matriz[fila].length;j++){
          suma+=matriz[fila][j];
        }
    }
    System.out.println(suma);
    return suma;

La verdad es que tengo un cacao mental importante y no sé muy bien lo que estoy haciendo, se supone que debo sumar los valores de dicha fila y almacenarlos en la variable suma, pero me da una suma que no se corresponde.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Franklin
Val: 376
Bronce
Ha aumentado su posición en 6 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda con suma de matrices

Publicado por Franklin (105 intervenciones) el 12/02/2020 21:42:54
Si vas a sumar una fila en especifico, con el FOR deberías de recorrer solo las columnas o "j". ya que no vas a recorrer las filas.

1
2
3
4
5
// Si tu Matriz es matriz[fila][columna]
 
for( int j=0; j<matriz[fila].length(); j++ ){ // Recorres las columnas disponibles dentro de la fila seleccionada
    suma+=matriz[fila][j]; // Sumas todos los valores de la Fila elejida pero cambiando sus columnas
}


ya en caso de sumar todos los valores por separado si usa los dos for para recorrer tanto filas como columnas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 69
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Ayuda con suma de matrices

Publicado por Daniel (17 intervenciones) el 12/02/2020 21:49:46
Hola colega para que el codigo te salga bien solo tienes que cambiar los siclos y dejar uno solo quedate solo con este
1
2
3
for (int j = 0; j < matriz[fila].length; j++) {
    suma += matriz[fila][j];
}
simplemente estabasdando bueltas demas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 15
Ha disminuido su posición en 12 puestos en Java (en relación al último mes)
Gráfica de Java

Ayuda con suma de matrices

Publicado por Meneth (7 intervenciones) el 13/02/2020 11:46:39
Muchas gracias por responder.
Me ha sido muy útil.
Intuía que era algo como lo que me habéis dicho, pero yo iba con la idea de que al ser una matriz y no un array, tenía que recorrer tanto filas como columnas, pero no sabía como hacer para que no me contara las vueltas de las filas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar