Validando a opção selecionada

1 resposta
R

Pessoal,

Estou fazendo um programa básico onde tenho que validar a opção selecionada pelo usuário.
Caso a opção não esteja entre “A” e “E” tenho que exibir a mensagem “Opção inválida”.

Lá nos tempos do Pascal, eu faria da seguinte forma:

if (not opcao in [‘A’…‘E’]) then …

Mas agora no Java eu não consegui encontrar nenhuma forma inteligente de fazer esse teste.
Estou fazendo assim:

while(!opcaoSelecionada.equals("A") && !opcaoSelecionada.equals("B") &&
               !opcaoSelecionada.equals("C") && !opcaoSelecionada.equals("D") &&
               !opcaoSelecionada.equals("E") && !opcaoSelecionada.equals("F")){
           System.out.println("Opção inválida.");
           imprimeMenu();
           opcaoSelecionada = userInput.next();
       }

Eu estou querendo fazer o teste sem precisar comparar com cada uma das opções.
Alguém poderia indicar uma maneira.

Desde já agradeço.

1 Resposta

T

Se opcaoSelecionada tiver apenas um caracter, ela deve estar na string "ABCDE". Ou seja, algo parecido com:

while (opcaoSelecionada.length() != 1 || "ABCDE".indexOf (opcaoSelecionada) < 0) {
     System.out.println("Opção inválida.");  
     imprimeMenu();  
     opcaoSelecionada = userInput.next();  
}
Criado 6 de maio de 2009
Ultima resposta 6 de mai. de 2009
Respostas 1
Participantes 2