Duvida na interface da matriz

eu acho que minha logica de matriz transposta esta correta, ja fiz teste no papel e deu certo, porem qdo coloco pra roda aparece simbolos inves de numeros, acho que a classe da minha interface esta errada…

[code]
public class InterfaceMatrizPedro{
public static void main(String args[]){

	MatrizPedro execute=new MatrizPedro();
	int[][] matriz={ {4,6,2},{12,9,3}, {10,2,3} };
	
	System.out.println("A matriz original era a: " + matriz );
	System.out.println("A matriz transposta eh a: " + execute.matrizTransposta(matriz) );
		
}

}[/code]

public class MatrizPedro{

//- Implementar um método que calcule a matriz transposta de uma matriz dada:
	/*public int[][] matrizTransposta(int[][] matriz){
		
		int[][] transposta=new int[matriz[0].length][matriz.length];;
		for(int linha=0;linha<matriz.length;linha++){
			for(int coluna=0;coluna<matriz[linha].length;coluna++){
				if(coluna>linha)
					matriz[linha][coluna]=transposta[coluna][linha];
				else if(coluna==linha)
						matriz[linha][coluna]=transposta[linha][coluna];
					else
						matriz[linha][coluna]=transposta[coluna][linha];
					
			}
		}
		return transposta;

pq não esta aparecendo os numeros corretamente???