0
respostas

Uso de IF com tipo INT e STRING

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?