7
respostas

[Dúvida] Problema com o uso do Random

Olá a todos.

Não estou conseguindo utilizar o Random para resolver o desafio. Dei uma pesquisada, olhei aqui no fórum e acredito que possa ser a minha versão do Java. Eu já havia feito uma instalação anterior ao início do curso aqui, então continuei utilizando ela, que é a versão 21.

Sei que o ideal seria acompanhar com a mesma versão utilizada pelos instrutores, mas gostaria de saber como eu poderia (e se poderia) usar a classe na versão 21. E aproveito para perguntar também se as divergências são muito grandes, a ponto de atrapalhar o desempenho no curso.

Grata!

7 respostas

Oi Rayane! Tudo bem?

Consegue me mandar um print/ copiar o erro que você está tendo com o Random? Pergunto isso porque, como ele é uma classe nativa do Java, não deveria ter problemas ao utilizá-lo em nenhuma versão. Se puder, deixa a fonte onde você pesquisou pra eu dar uma olhada também. Assim fica mais fácil de encontrarmos uma solução.

Para esse curso/formação de Java, não tem nenhum problema em usar o Java 21 ao invés do 17, porque os recursos utilizados não sofrem prejuízo com essas versões diferentes.

Fico no aguardo!

Tela do IntelliJ com código em execução apresentando erroTela do IntelliJ com código em execução apresentando erro

Obrigada por ter enviado!

Pelas informações de erro, parece que as estruturas de parênteses ou de chaves não estão corretas - você pode ter esquecido de fechar algum deles, ou então fechou as chaves da classe antes de escrever o método, por exemplo.

Tenta verificar aí, e caso não encontre, me envia o código (em texto mesmo) que posso te ajudar a encontrar.

Abraços!

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

public class JogoAdivinhacao {

    public static void main(String[] args) {
        Scanner leitor = new Scanner(System.in);
        int numeroGerado = new Random().nextInt(100); // gera um número aleatório entre 0 e 100
        int tentativas = 0;

        while (tentativas < 5) {
            System.out.print("Digite um número entre 0 e 100: ");
            int numeroDigitado = leitor.nextInt();
            tentativas++;

            if (numeroDigitado == numeroGerado) {
                System.out.println("Parabéns, você acertou o número em " + tentativas + " tentativas!");
                break; // interrompe o loop while
            } else if (numeroDigitado < numeroGerado) {
                System.out.println("O número digitado é menor que o número gerado.");
            } else {
                System.out.println("O número digitado é maior que o número gerado.");
            }
        }

        if (tentativas == 5) {
            System.out.println("Você não conseguiu adivinhar o número em 5 tentativas. O número era " + numeroGerado);
        }
    }
}

Será que pode ser um erro na estrutura do projeto? Ainda me enrolo com isso, tipo arquivo fora da pasta source, coisas assim. Eu criei outra classe, como dá pra ver no primeiro print, na pasta certa, creio eu, mas não vai...

Testei seu código aqui e pra mim tá funcionando normalmente com o Java 21.

Acho que um possível erro é não ter configurado a JDK na IDE. Às vezes ela buga e não configura automaticamente. Pra conferir isso, você pode ir no menu superior no Intellij e selecionar File e depois Project Structure. Aí, na primeira opção do menu lateral, em Project, você pode configurar a versão: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

No meu caso, aparecem várias versões do Java, porque tenho mais de uma instalada. Mas você pode selecionar o Java 21, que é o que está instalado na sua máquina.

Acredito que isso vá resolver o problema!

E quanto aos módulos/pacotes que você comentou, a estrutura do seu projeto está correta.

Qualquer dúvida, estou à disposição! :)

Oii Iasmin, desculpe a demora!

Acessei essa configuração conforme você indicou e estava tudo correto. Por fim, resolvi tentar criar um projeto novo para tentar novamente do zero e funcionou. Confesso que não sei exatamente o que ocorreu, mas está tudo funcionando. Estarei mais atenta na criação dos arquivos, caso tenha sido isso.

Obrigada pela ajuda :)