Olá,estou treinando Java desenvolvendo um programa básico de Forca mas mesmo ao atingir o número máximo de acertos ou erros o programa não está encerrando.
package application;
import java.util.Scanner;
public class Program2 {
public static void main(String[] args) {
int acerto = 0, erro = 0;
Scanner sc = new Scanner(System.in);
String palavra = "chave";
char letraAnterior = ' ';
char[] espaco = { '_', '_', '_', '_', '_' };
while (acerto < palavra.length() || erro < palavra.length()) {
for (char item : espaco) {
System.out.print(item);
}
System.out.println();
System.out.print("Digite uma letra:");
char letraEscolhida = sc.next().charAt(0);
if (letraEscolhida == letraAnterior) {
System.out.println("Letra já escolhida!");
}
int posicao = verificador(letraEscolhida, palavra);
if (posicao >= 0 && posicao != 8 ) {
espaco[posicao] = letraEscolhida;
acerto++;
} else {
System.out.println("Letra errada!Tente novamente!");
erro++;
}
letraAnterior = letraEscolhida;
}
sc.close();
}
static int verificador(char letraEscolhida, String palavra) {
int posicao = 8;
char[] letras = palavra.toCharArray();
boolean acerto = false;
for (char item : letras) {
acerto = item == letraEscolhida;
if (acerto == true) {
posicao = palavra.indexOf(item);
}
}
return posicao;
}
}