Error al sumar los valores de la filas de una matriz
Publicado por Loudwig (1 intervención) el 06/12/2019 04:36:59
Hola, realizando pruebas en mi código encontré un error al momento de sumar los valores que se encuentran en cada fila.
Haciendo mis pruebas de escritorio obtengo algo como lo siguiente:

Donde en la columna 5 guardo las sumas de los valores de las columnas y la columna 6 guarda la división de la columna [5]/5
El problema ocurre cuando se ejecuta lo siguiente:
La clase principal:
La clase secundaria:
El problema es que en la columna 5 retorna valores que desconozco su porqué
[3.0, 3.0, 3.0, 3.0, 3.0, 495.0, 99.0],
[5.0, 6.0, 3.0, 3.0, 3.0, 567.0, 113.4],
[3.0, 3.0, 3.0, 6.0, 8.0, 516.0, 103.2],
[3.0, 3.0, 3.0, 2.0, 4.0, 269.0, 53.8],
[3.0, 3.0, 5.0, 3.0, 2.0, 210.0, 42.0],
[3.0, 3.0, 5.0, 3.0, 4.0, 142.0, 28.4],
[3.0, 4.0, 5.0, 3.0, 4.0, 56.0, 11.2]
Espero su ayuda y sus consejos.
Gracias
Haciendo mis pruebas de escritorio obtengo algo como lo siguiente:

Donde en la columna 5 guardo las sumas de los valores de las columnas y la columna 6 guarda la división de la columna [5]/5
El problema ocurre cuando se ejecuta lo siguiente:
La clase principal:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package pfinal11;
import java.util.Arrays;
import java.util.Scanner;
public class PFinal11 {
public static void main(String[] args) {
float ahorro[][] = new float[7][7];
float[][] ver = null;
Scanner s = new Scanner(System.in);
Calculos calculo= new Calculos();
for (int i = 0; i < ahorro.length; i++) {
System.out.println("Dia "+(i+1)+": ");
for (int j = 0; j < ahorro[0].length-2; j++) {
System.out.print("Persona "+(j+1)+": ");
ahorro[i][j] = s.nextFloat();
ver = calculo.totalDia(ahorro);
}
}
System.out.println(Arrays.deepToString(ver));
}
}
La clase secundaria:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package pfinal11;
public class Calculos {
float[][] m = new float[7][7];
float[][] totalDia(float m[][]){
this.m = m;
for (int i = 0; i < m.length; i++) {
for (int j = 0; j < m[0].length-2; j++) {
m[i][5] += m[i][j];
}
}
return m;
}
}
El problema es que en la columna 5 retorna valores que desconozco su porqué
[3.0, 3.0, 3.0, 3.0, 3.0, 495.0, 99.0],
[5.0, 6.0, 3.0, 3.0, 3.0, 567.0, 113.4],
[3.0, 3.0, 3.0, 6.0, 8.0, 516.0, 103.2],
[3.0, 3.0, 3.0, 2.0, 4.0, 269.0, 53.8],
[3.0, 3.0, 5.0, 3.0, 2.0, 210.0, 42.0],
[3.0, 3.0, 5.0, 3.0, 4.0, 142.0, 28.4],
[3.0, 4.0, 5.0, 3.0, 4.0, 56.0, 11.2]
Espero su ayuda y sus consejos.
Gracias
Valora esta pregunta


0