Analise este código, por favor!

Sou novo com Java estou tendo fazer um jogo semelhante a o campo minado do Windows. Mais meu código esta errado. O que esta errada nele. 8O
este e ± o que estou tentando fazer!!!

import java.util.Scanner;
public class CampoMimado {
public static void main(String[] args){
int[][] y;
char[][] x;
char[][] z;

	Scanner leitura = new Scanner(System.in);
	
	x=  new char [10][10];
	y=  new int [10][10];
            z= new char[10][10];
	int a = 0;
	int aa = 0;
	int aaa= 0;
	int cont = 0;
	int contt = 0;
	int conttt = 0;
            int linha = 0, coluna = 0, posicao = 0, t = 0;
            char bomba = ' ';
	
	int b = 0;
	int b2 = 1;
	int b3 = 2;
	int b4 = 3;
	int b5 = 4;
	int b6 = 5;
	int b7 = 6;
	int b8 = 7;
	int b9 = 8;
	int b10 = 9;
	
	for (int i = 0; i < x.length; i++) {
		for (int ii = 0; ii < x[i].length; ii++) {
			if (aaa < 10){
				a= (int) (Math.random()* 10);
				aa= (int) (Math.random()* 10);
				if (x[a][aa] != '*'){
					x[a][aa]= '*';
					aaa++;
					cont++;
				}
				conttt++;
			}
			
		}
	}
	
	for (int i = 0; i < x.length; i++) {
			System.out.println(x[i][b]+" "+x[i][b2]+" "+x[i][b3]+" "+x[i][b4]+" "+x[i][b5]+" "+x[i][b6]+" "+x[i][b7]+" "+x[i][b8]+" "+x[i][b9]+" "+x[i][b10]);
			contt+=10;	
	}
            cont = 0;
            for (int i = 0; i < y.length; i++) {
                for (int j = 0; j < y[i].length; j++) {
                    y[i][j] = cont;
                    cont = cont + 1;
                }
                
            }
            contt = 0;
            for (int i = 0; i < y.length; i++) {
			System.out.println(y[i][b]+" "+y[i][b2]+" "+y[i][b3]+" "+y[i][b4]+" "+y[i][5]+" "+y[i][b6]+" "+y[i][b7]+" "+y[i][b8]+" "+y[i][b9]+" "+y[i][b10]);
			contt+=10;
        }
            
            //Regras do Jogo.
            System.out.println();
            System.out.println("Instrucoes:");
            System.out.println();
            System.out.println("para começar digite a linha e coluna correspondete a o numero da posição representada na tabela, não se esqueca de digitar a posicao tambem");
            System.out.println("Se no local escolhido nao tiver uma bomba, a tabela te mostrarar o numero de bombas na vizinhaça");
            System.out.println("Se tiver bomba voce perdeu e a tabela te mostrara as posicoes com bomba");
            //fim das regras.
            
            do {
                
                //imicio de leia linha.
                System.out.println();
                System.out.println("Digite o Numero da Linha");
                System.out.println();
                linha = leitura.nextInt();
                if (linha > 9) {
                    System.out.println("Linha nao Existe");
                    do {
                        System.out.println();
                        System.out.println("Digite o Numero da Linha");
                        System.out.println();
                        linha = leitura.nextInt();
                        if (linha > 9) {
                            System.out.println("Linha nao Existe");
                        }
                    } while ((linha < 9) || (linha == 9));
                }
                //fim leia linha.
                
                //imicio de leia Coluna.
                System.out.println();
                System.out.println("Digite o Numero da Coluna");
                System.out.println();
                coluna = leitura.nextInt();
                if (coluna > 9) {
                    System.out.println("Coluna nao Existe");
                    do {
                        System.out.println();
                        System.out.println("Digite o Numero da Coluna");
                        System.out.println();
                        coluna = leitura.nextInt();
                        if (coluna > 9) {
                            System.out.println("Coluna nao Existe");
                        }
                    }while((coluna < 9) || (coluna == 9));;
                }
                //Fim do leia Coluna
                
                //Imicio de leia Posição
                System.out.println();
                System.out.println("Digite o Numero da Posicao");
                System.out.println();
                posicao = leitura.nextInt();
                if (posicao != y[linha][coluna]) {
                    System.out.println();
                    System.out.println("Posicao Diferente da coluna e Linha Escolhidas");
                    System.out.println();
                    
                    do {
                        System.out.println();
                        System.out.println("Digite o Numero da Posicao");
                        System.out.println();
                        posicao = leitura.nextInt();
                        if (posicao != y[linha][coluna]) {
                            System.out.println();
                            System.out.println("Posicao Diferente da coluna e Linha Escolhidas");
                            System.out.println();
                        }
                    } while(posicao == y[linha][coluna]);
                }
                //Fim do Leia Posição.
                
                if (x[linha][coluna] == '*') {
                    
                    bomba = '*';
                    System.out.println("tooom");
                    System.out.println("voce perdeu!!!!!");
                    
                    for (int i = 0; i < x.length; i++) {
			System.out.println(x[i][b]+" "+x[i][b2]+" "+x[i][b3]+" "+x[i][b4]+" "+x[i][b5]+" "+x[i][b6]+" "+x[i][b7]+" "+x[i][b8]+" "+x[i][b9]+" "+x[i][b10]);
			contt+=10;	
	        }
                }//final da comparação de ==*.
                
                if (x[linha][coluna] != '*') {
                    
                    contt++;
                	cont = 0;
                	for (int i = 0; i < y.length; i++) {
                        for (int j = 0; j < y[i].length; j++) {
                            if (y[i][j] == y[linha][coluna + 1]);
                            cont = cont + 1;
                        }
                	}
                	if ((cont > 0) && (x[linha][coluna + 1] == '*')) {
                		t++; 
                    }//fim do primeiro for e if != '*'. 
                    
                    cont = 0;
                	for (int i = 0; i < y.length; i++) {
                        for (int j = 0; j < y[i].length; j++) {
                            if (y[i][j] == y[linha + 1][coluna + 1]);
                            cont = cont + 1;
                        }
                	}
                	if ((cont > 0) && (x[linha + 1][coluna + 1] == '*')) {
                		t++; 
                    }//fim do segundo for e if de != '*';
                    
                    cont = 0;
                	for (int i = 0; i < y.length; i++) {
                        for (int j = 0; j < y[i].length; j++) {
                            if (y[i][j] == y[linha + 1][coluna]);
                            cont = cont + 1;
                        }
                	}
                	if ((cont > 0) && (x[linha + 1][coluna] == '*')) {
                		t++; 
                    }//fim do terceiro for e if de != '*';
                    
                    cont = 0;
                	for (int i = 0; i < y.length; i++) {
                        for (int j = 0; j < y[i].length; j++) {
                            if (y[i][j] == y[linha + 1][coluna - 1]);
                            cont = cont + 1;
                        }
                	}
                	if ((cont > 0) && (x[linha + 1][coluna - 1] == '*')) {
                		t++; 
                    }//fim do quarto for e if de != '*';
                    
                     cont = 0;
                	for (int i = 0; i < y.length; i++) {
                        for (int j = 0; j < y[i].length; j++) {
                            if (y[i][j] == y[linha][coluna - 1]);
                            cont = cont + 1;
                        }
                	}
                	if ((cont > 0) && (x[linha][coluna - 1] == '*')) {
                		t++; 
                    }//fim do quinto for e if de != '*';
                     
                    cont = 0;
                	for (int i = 0; i < y.length; i++) {
                        for (int j = 0; j < y[i].length; j++) {
                            if (y[i][j] == y[linha - 1][coluna - 1]);
                            cont = cont + 1;
                        }
                	}
                	if ((cont > 0) && (x[linha - 1][coluna - 1] == '*')) {
                		t++; 
                    }//fim do Sexto for e if de != '*'; 
                    
                    cont = 0;
                	for (int i = 0; i < y.length; i++) {
                        for (int j = 0; j < y[i].length; j++) {
                            if (y[i][j] == y[linha - 1][coluna]);
                            cont = cont + 1;
                        }
                	}
                	if ((cont > 0) && (x[linha - 1][coluna] == '*')) {
                		t++; 
                    }//fim do Setimo for e if de != '*'; 
                    
                    cont = 0;
                	for (int i = 0; i < y.length; i++) {
                        for (int j = 0; j < y[i].length; j++) {
                            if (y[i][j] == y[linha - 1][coluna + 1]);
                            cont = cont + 1;
                        }
                	}
                	if ((cont > 0) && (x[linha - 1][coluna + 1] == '*')) {
                		t++; 
                    }//fim do oitavo for e if de != '*'; 
                    
                } //if de != '*'.
                z[linha][coluna] = 't';
                for (int i = 0; i < z.length; i++) {
                    System.out.println(z[i][b]+" "+z[i][b2]+" "+z[i][b3]+" "+z[i][b4]+" "+z[i][b5]+" "+z[i][b6]+" "+z[i][b7]+" "+z[i][b8]+" "+z[i][b9]+" "+z[i][b10]);
                }
                
            } while (cont <= 90 || bomba != '*'); //fi do do while
    }//putlic static void main(String[] args)

}//plutlic Class.

Amigo,

tente apontar onde está a sua dúvida. Ninguém vai conseguir te ajudar olhando um código deste tamanho.