Jogo da Velha Java - Mesmo X vencendo a partida, o Computador ainda efetua mais uma jogada antes de finalizar

Boa tarde. Estou desenvolvendo um Jogo da Velha, e está quase pronto. Quero agradecer aos que me orientaram, obrigado! Preciso de mais uma ajuda, quem puder me orientar. Então, testando o Jogo da velha, percebi que mesmo o Jogador Humano vencendo a partida, o Computador ainda efetua mais uma jogada. Por exemplo.:
X|O|O
X|O|_
X| |

Jogador Humano VENCEU

É tipo isso, o Jogador Humano venceu e o Computador imprimiu mais um O ainda. Acredito que segue algum detalhe nesses if/else, em alguma parte desses blocos de códigos que se encontra no Main. Segue o código abaixo:

public class Jogo {
				
				//Instâncias de Tabuleiro, Jogador, ComputadorA, ComputadorB e ComputadorC
				static Tabuleiro jogoTabuleiro = new Tabuleiro();
				static Jogador jogador = new Jogador();
				static ComputadorA compA = new ComputadorA();
				static ComputadorB compB = new ComputadorB();
				
				public static void main(String[] args) {
					System.out.println("***** Jogo da Velha *****"); 
					System.out.println("Jogador Humano: X");
					System.out.println("Computador:     O\n");
					System.out.println("Escolha o nível de dificuldade 1, 2 ou 3:"); 
					
					//Ler o que foi digitado pelo usuário
					Scanner nDificuldade = new Scanner(System.in); 
					
					//Armazena o que foi digitado
					int nivel = nDificuldade.nextInt(); 
			
					//Entra nesse laço se o que foi digitado for menor que 1 ou menor que 3
					while(nivel < 1 || nivel > 3){ 
			
					  System.out.println("Opção inválida, escolha a dificuldade 1, 2 ou 3:"); 
			
					  nivel = nDificuldade.nextInt(); 
					  
					} 
					
					int jogoNaoAcabou = 1; 
					
					//Enquanto a variável jogonaoAcabou for <= 5 chama o método JogadorHumano
					while (jogoNaoAcabou <= 5) {
			            jogador.JogadorHumano(Tabuleiro.tab); 
			            
			            //Se o nível for igual a 1, cai nesse if e chama o método JogadorComputadorA
					    if (nivel == 1) { 
					    	compA.JogadorComputadorA(Tabuleiro.tab); 
					    }
					    
					    //Nível igual a 2, cai nesse else if e chama o método JogadorComputadorB
					    else if (nivel == 2){ 
					        compB.JogadorComputadorB(Tabuleiro.tab); 
					    } 
					    
					    //Chama o método caso Jogador Humano ou Computador tenha vencido
					    if(jogoTabuleiro.VerificaVencedor(Tabuleiro.tab)){ 
					      break; //Para encerrar o jogo caso um dos dois tenha vencido
					    }
					    
					    //jogoNaoAcabou for igual a 5, significa que todas os espaços foram preenchidos e não teve vencedor
						else if(jogoNaoAcabou == 5){ 
						     System.out.println("EMPATE"); 
						} 
					    
					    //Incrementa jogoNaoAcabou + 1
					    jogoNaoAcabou++;
					} 
				}   
}