Erro na impressão (arquivo bidimensional)

3 respostas
L
import java.util.Arrays;
public class MatrizTransposta {
	
	public static void main (String[] args){
	int[][] matriz = {{1, 2}, 
					  {3, 1}, 
					  {1, 1}};
	System.out.println(Arrays.toString(transposicao(matriz)));
	}
	
	public static int [][] transposicao (int[][] matriz){
		int[][] transposta = new int[matriz[0].length][matriz.length];	
			
			for (int i = 0; i<matriz.length; i++){
				for (int j = 0; j<matriz[0].length; j++){
					transposta [j][i] = matriz [i][j];
				}
		}
		return transposta;
	}        
}

Então, criei um código pra transpor uma matriz... aparentemente está certo, porém, na hora da impressão volta:
[[I@19821f, [I@addbf1]

Ajudem-me por favorrrr!

3 Respostas

E
System.out.println(Arrays.toString(transposicao(matriz)));

Arrays.toString não funciona para arrays bidimensionais*. Para arrays bidimensionais, você vai ter de fazer a impressão “na mão”, que é mais seguro e imprime do jeito que você quer.

  • A rigor, não existem arrays bidimensionais em Java, apenas arrays de arrays.
L

Como fazer essa impressão “na mão”?

L

Consegui!
Adicionei e alterei uma parte:

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

Agora sim está dando certo, obrigado pela ajuda.

Criado 29 de junho de 2012
Ultima resposta 29 de jun. de 2012
Respostas 3
Participantes 2