[RESOLVIDO]Erro na leitura do char

2 respostas
J
public JogadorHumano (Tabuleiro tab,JogadorAutomatico jogAutomatico) throws Exception
    {
    	maquina = jogAutomatico;
    	tabDoJogo = tab;
    	
    	Scanner input = new Scanner(System.in);
    	System.out.println("Qual marca vc prefere (X ou O)");
    	entrada = input.nextLine();
    	
    	if (entrada.toUpperCase().equals("X"))
    	{
    	  this.marca = new Marca(entrada.charAt(0));
    	}
    	
    	if (entrada.toUpperCase().equals("O"))
    	{
    		this.marca = new Marca(entrada.charAt(0));
    	}
    	else
    		throw new Exception ("Marca Inválida");
    	
        // inicia tabDoJogo com tab e pergunta ao jogador qual marca (X ou O) deseja usar,
        // iniciando marca
    }

Exception in thread "main" java.lang.Exception: Marca Inválida
at JogadorHumano.(JogadorHumano.java:30)
at Velha.main(Velha.java:11)

Gostaria de saber a solução desse problema, porque quero ler se o que o usuário digitou é X ou O.

2 Respostas

luksrn

É apenas um erro na sua lógica.

Em vez de:
if

if
else
bote
if

else if

else
J

Vlw cara :-o

Criado 8 de outubro de 2012
Ultima resposta 8 de out. de 2012
Respostas 2
Participantes 2