Exibir matriz (RESOLVIDO)

Olá pessoal do guj. Estou com uma dúvida simples, mas juro que não estou sabendo onde está o problema. Trata-se de uma matriz, não estou conseguindo exibir os valores de cada posição. Abaixo está o codigo, se puderem me indicar onde está o erro, agradeço muito.

Metodo dentro da classe Menu, responsavel por criar a matriz e logo em seguida imprimi-la;

	public void subMenu(int opcao, String diretorio){
		if(opcao == 1){
			Matriz m = new Matriz(3);
			m.imprime();

Classe Matriz com os métodos que verifica dimensao (matriz será sempre quadrada), preenche inicialmente todas as posições com valor zero.

public class Matriz{

	private int dimensao;
	private int[][] matriz;
	
	public Matriz(int nVertice){
		dimensao = testaDimensao(nVertice);
		matriz = new int[dimensao][dimensao];
		preencheMatriz();
	}
	
	
	private int testaDimensao(int d){
		Scanner scan = new Scanner(System.in);
		if(d < 1){
		   do{
		      System.out.printf("ERRO! Valor inválido! Dimensão não pode conter esse" +
				" valor.\n Entre com outro valor.\n");
		      dimensao = scan.nextInt();
		   }while(dimensao < 1);
		}
		return dimensao;
	}
	
	private void preencheMatriz(){
		int i, j;
		for(i = 0; i < dimensao; i++){
		   for(j = 0; j < dimensao; j++){
		      matriz[i][j] = 0;
		   }
		}
	}
	
	public void imprime(){
		System.out.println(" ");
		for(int i = 0; i < this.dimensao; i ++)
			System.out.print(i + " ");
			System.out.println();
			for(int i = 0; i < this.dimensao; i ++){
				System.out.print(i + " ");
				for(int j = 0; j < this.dimensao; j++)
					System.out.println(this.matriz[i][j] + " ");
				System.out.println();
			}
	}
}

DÚVIDA: Pq a matriz não está sendo impressa?

Já resolvi o problema. No método dimensão eu estava fazendo o teste if sobre o valor passado como parametro e o teste while sobre o atributo da classe.