Como usar o Arrays.toString com arrays do tipo double?

E aí pessoal, eu estou tentando retornar um array em string, apenas para a visualização do mesmo utilizando do método Arrays.toStrnig, porém, ele está me retornando valores ilegíveis, tais como: [[D@49e4cb85, [D@2133c8f8, [D@43a25848, [D@3ac3fd8b, [D@5594a1b5]

Eu não sei o que é, já que eu sempre usei este método com arrays unidimensionais, e funcionava.

O que faço?

Código:

	Scanner entrada = new Scanner(System.in);
	double[][] matrizD = new double[5][5];
	int linhas = 0;
	
	for(int x=0; x<5; x++) {
		linhas++;
		for(int y=0; y<5; y++) {
			System.out.println("Escreva o valor para ser armazenado na linha de número " +(x+1)+" da coluna de número "+(y+1)+" do seu array.");
			matrizD[x][y] = entrada.nextDouble();
		}	
	}
	
	System.out.println("O seu array possui "+linhas+" linhas.");
	System.out.println(Arrays.toString(matrizD));

}

}

Como você tem uma matriz com 2 dimensões, acredito que você precise iterar sobre o primeiro nível e usar o Arrays.toString no segundo nível. Algo assim:

for ( int i = 0; i < matrizD.length; i++){
  System.out.println(Arrays.toString(matrizD[i]));
}

Exemplo: https://ideone.com/ddtOl4

Abraço.

2 curtidas

Valeu parceiro, funcionou.

Com este código que você me mandou já funcionou, tendo em vista que ele irá imprimir o array que está dentro do array de acordo com o indice i.

Obrigado pela resposta :slight_smile: