Batalha Naval Com Java

Bom dia, tenho um simples programa em Java sobre batalha naval, ate funciona, só não está chamando o método acertar navio, alguém poderia me ajudar?
import java.io.*;
public class BatalhaNaval{
public static String tabuleiro[][]= new String[10][10];

public static void inicilizaMatriz(){
for(int l=0;l<10;l++){
for(int c=0;c<10;c++){
tabuleiro[l][c]=" ";
}
}
}
public static int posicao[][] = new int[10][10];
public static void zeraPosicao(){
for(int l=0;l<10;l++){
for(int c=0;c<10;c++){
posicao[l][c] = 0;
}
}
}

  public static void posicaoDosSubmarinos(){
	
    posicao[1][2] = 1;		
    posicao [2][0] =1;
    posicao [3][7] = 1;
        posicao[4][2] = 1;		
    posicao [5][2] =1;
    posicao [6][7] = 1;
        posicao[7][2] = 1;		
    posicao [8][0] =1;
    posicao [9][7] = 1;
  }
 
  
  public static int lerLinha() throws IOException{
      BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
      int Linha=0;
     
            System.out.println("Informe a linha entre 0 e 9 ");
            Linha=Integer.parseInt(entrada.readLine());
            if(Linha >=0 && Linha <=10){
                  return(Linha);
              }else{
                  System.out.println("Linha invalida!!!");
                  return(lerLinha());
              }
     
      }
  
      public static int lerColuna() throws IOException{
            BufferedReader entrada = new BufferedReader (new InputStreamReader(System.in));
            int Coluna=0;
           
            
              System.out.println("Informe a coluna entre 0 e 9 ");
              Coluna=Integer.parseInt(entrada.readLine());
              if(Coluna >=0 && Coluna <=10){
                  return(Coluna);
              }else{
                  System.out.println("Coluna invalida!!!");
                  return(lerColuna());
              }
            
            }
    
      
   public static void imprimeTabuleiro(){
          System.out.println("    0   1   2   3   4   5   6   7  8  9  "); 
          System.out.println("  _______________________________________ ");
          for(int l=0;l<10;l++){
                System.out.print(l + " ");   
               for(int c=0;c<10;c++){
                    System.out.print("| "+tabuleiro[l][c]+" ");
               }
               System.out.println("|");
               System.out.println("  _______________________________________  ");
           }
   }
   public static void verificaPosicao() throws IOException{
       
            int submarino = 3;
            
        int controladora = 0;
        while(controladora == 0){
            int lin = lerLinha();
            int col = lerColuna();
            int escolha = posicao[lin][col];
            System.out.println(escolha);
            if(" ".equals(tabuleiro[lin][col])){
                switch(escolha){
                   case 0:
                         System.err.println("Se errou: “Seu tiro caiu na água”");
                         tabuleiro[lin][col] = "X";
                         imprimeTabuleiro();
                         break;
                   case 1:
                         System.out.println("Se acertou: “Você acertou um navio”");
                         tabuleiro[lin][col] = "1";
                         submarino --; 
                         imprimeTabuleiro();
                         break;                      
                        
                  }
            }
            
            if(submarino==0){
                controladora = 1;
            }
        }
   }
   public static void main(String[] args) throws IOException {
   int linha,coluna;      
   zeraPosicao();     
   
   inicilizaMatriz();
   imprimeTabuleiro();
   
   verificaPosicao();
   System.out.println("Parabéns você ganhou!!");
    
   }

}