Java - Suma de dos matrices - Me devuelve "[[D@7d4991ad"

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

Suma de dos matrices - Me devuelve "[[D@7d4991ad"

Publicado por Jorge (6 intervenciones) el 31/03/2019 21:05:08
Hice un intento de programa para sumar dos matrices (soy novato en java) , el problema es que el resultado me devuelve un "[[D@7d4991ad" y no se como podria solucionarlo. cualquier ayuda es bienvenida.

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
27
28
29
30
31
32
33
34
35
36
37
package bidimensional;
 
import java.util.Scanner;
 
public class Bidimensional {
 
	private double[][] matriz;
	private int	renglones;
	private int columnas;
 
	public Bidimensional(int renglones, int columnas) { // constructor y pido el ingreso de valores a matrices
		Scanner entrada = new Scanner(System.in);
		this.matriz = new double [renglones][columnas];
 
		for(int i=0 ; i<renglones; i++)
		{
			for(int j=0; j<columnas; j++) {
				System.out.print("Ingresar el numero de matriz ["+i+":"+j+"]: ");
				matriz[i][j]=entrada.nextDouble();
			}
		}
	}
 
	public double[][] suma(Bidimensional m2) // operacion de suma
	{
		for(int i=0; i<2; i++) {
			for(int j=0; j<2; j++)
			{
				matriz[i][j]=matriz[i][j]+m2.matriz[i][j];
			}
		}
 
		return matriz;
	}
 
 
}

MAIN:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package testBidimensional;
 
import bidimensional.Bidimensional;
 
public class TestBidimensional {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		Bidimensional matrices1 = new Bidimensional(2,2);
		Bidimensional matrices2 = new Bidimensional(2,2);
 
		System.out.println("Suma: "+matrices1.suma(matrices2));
 
	}
 
}
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
sin imagen de perfil
Val: 96
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Suma de dos matrices - Me devuelve "[[D@7d4991ad"

Publicado por Bruno (43 intervenciones) el 01/04/2019 00:55:30
En la línea 29

matriz[i][j] = matriz[i][j] + m2.matriz[i][j];

intentas acceder a matriz pero ésta es un elemento private del objeto m2. Podrías agregar un método a la clase para obtener un elemento de la matriz

1
2
3
public double getElement (int fila, int columna) {
    return matriz[fila][columna]
}

y luego reemplazar en la línea 29

matriz[i][j] = matriz[i][j] + m2.getElement(i, j);

Espero te sirva.
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
Imágen de perfil de Billy Joel
Val: 2.665
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Suma de dos matrices - Me devuelve "[[D@7d4991ad"

Publicado por Billy Joel (876 intervenciones) el 08/04/2019 19:40:16
El método suma devuelve una matriz de tipo double. Para mostrar la matriz de forma apropida deberías hacer algo como esto:
1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) {
    Bidimensional matrices1 = new Bidimensional(2, 2);
    Bidimensional matrices2 = new Bidimensional(2, 2);
    double[][] suma = matrices1.suma(matrices2);
    String s = "\n";
    for (int i = 0; i < suma.length; i++) {
        for (int j = 0; j < suma[i].length; j++) {
            s += suma[i][j] + (j + 1 < suma[i].length ? "\t" : "\n");
        }
    }
    System.out.println("Suma: " + s);
}

Saludos,
;-)
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