Olá, pessoal, tudo bem?
Eu estou escrevendo um algoritmo simples de jokenpo que funciona da seguinte forma:
public void setJogador() {
while (true) {
if (elemento > 2) {
{
JOptionPane.showMessageDialog(null,
"Ocorreu um erro:\n" + "você digitou um valor fora do esperado.");
System.exit(0);
}
} else {
System.out.println(
"Pedra ganha de tesoura \n " + "Tesoura ganha de Papel \n " + "Papel ganha de Pedra \n ");
int elemento = Integer.parseInt(JOptionPane.showInputDialog(
"Faça sua escolha entre:\n " + "Papel (0) \n" + "Tesoura (1) \n" + "Pedra (2) \n"));**
Há mais coisas no código, ele compila mas eu gostaria de entender como resolver essa questão que é o seguinte: a variavel elemento irá receber um número inteiro e cada número de 0 a 2 representa Pedra, Papel ou Tesoura.
Minha dúvida é: dentro do if eu informei que caso o usuário insira um valor inteiro maior do que 2, o programa será fechado, ótimo. Mas na verdade eu quero dizer que caso ele digite algo diferente de 2 o programa será fechado.
Por exemplo, quando eu faço os testes e tento inserir um String, o programa dá um erro Exception in thread "main" java.lang.NumberFormatException: For input string: "StringAleatorio".
Há alguma forma de escrever isso dentro do IF ou tenho que mudar a estrutura?