1
resposta

[Dúvida] Jogo de Advinhação

Como posso fazer a verificação se o usuário digitar uma string...

import java.util.Random;
import java.util.Scanner;

public class DesafioAdvinhacao {

    public static void main(String[] args) {
        int numRandom = new Random().nextInt(10);
        Scanner scanner = new Scanner(System.in);

        int attempts = 3;
        int round = 1;

        String message = """
                         ===============
                         JOGO ADVINHAÇÃO
                         ===============
                         Tente desccobrir um número entre 0 e 10
                         """;
        System.out.println(message);

        while (round <= attempts) {
            System.out.println("\nTentativa %d de %d".formatted(round++, attempts));
            System.out.println("Digite um número: ");
            int typedNumber = scanner.nextInt();

            if (typedNumber < 0 || typedNumber > 10) {
                System.out.println("Número inválido.\nDigite um número entre 0 e 10");
                round = 1;
                continue;
            }

            if (typedNumber == numRandom) {
                System.out.println("Parabéns, você acertou!\nFIM DE JOGO");
                break;
            } else if (typedNumber < numRandom) {
                System.out.println("Errou, seu número digitado foi menor");
            } else {
                System.out.println("Errou, seu número digitado foi maior");
            }

            if (round > attempts) {
                System.out.println("VOCÊ PERDEU!");
                break;
            }

        }

    }
}
1 resposta

Olá Keven, tudo bem?

Para verificar se o usuário digitou uma string, você pode utilizar o método hasNextLine() da classe Scanner. Esse método retorna true se houver uma linha para ler e false caso contrário.

Por exemplo, você pode adicionar um if após a leitura do número, verificando se o Scanner tem uma linha para ler antes de tentar ler uma string. Se tiver, você pode usar o método nextLine() para ler a string.

Veja um exemplo:

if (scanner.hasNextLine()) {
    String inputString = scanner.nextLine();
    // faça algo com a string digitada pelo usuário
}

Espero ter ajudado e bons estudos!