Ajuda

Gente tudo bem?

Estou precisando de uma ajuda… estou iniciando em JAVA. E estou com dúvida quanto a uma código.

“Ao apertar a tecla “r”, o sistema deve envar um número inteiro entre 1 e 99.”
No bingo não pode haver números repetidos,
Ao apertar a tecla “x”, o algoritmo deve encerrar o programa."

Em fim é exatamento isso e não sei por onde começar. :frowning:

Começa pedindo para o usuário digitar uma tecla e pressionar ENTER, se a tecla pressionada for “r”, você sorteia um número.

Através do método scanner?

através do scanner?

Scanner é uma classe, não método.
Mas sim, você cria um objeto do tipo Scanner para ler o System.in.
Então você utiliza o método nextLine() para ler o texto digitado pelo usuário.

Certo. Vou tentar aqui. Obrigada. :smiley:

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

public class Bingo {

public static void main(String[] args) {
	
	Random random = new Random();
	 int numeroInteiroAleatorio = random.nextInt(99);
	 
	 	Scanner leitor = new Scanner(System.in);
	 	 String resposta = leitor.next();
	 	 
	if ("r".equals(resposta)) {
		
		System.out.println("Número: " +
		numeroInteiroAleatorio);
		
		
	}else if("x".equals(resposta)) {
		
		System.out.println("Fim do jogo!");
	}
	 
	

}

Fiz assim… deu certo mas o que gostaria que eu digitasse várias vezes sem necessitar de sempre iniciar o código.

//Bingo//

import java.util.HashSet;
import java.util.Random;
import java.util.Scanner;
import java.util.Set;

public class Teste {

public static void main(String[] args) {
	
	Scanner entrada = new Scanner(System.in);
	Random numeroRandomico = new Random();
	
	String palavraDigitada = "";
	
	
	boolean apertou = false;
	
	while(apertou == false) {
		System.out.println("Informe uma letra:");
		palavraDigitada = entrada.nextLine();
		
		if(palavraDigitada.equals("C")) {
			int numeroGerado = numeroRandomico.nextInt(99);
			System.out.println("Numero gerado: " + numeroGerado);
			
		}if(palavraDigitada.equals("c")) {
			int numeroGerado = numeroRandomico.nextInt(99);
			System.out.println("Numero gerado: " + numeroGerado);
			
			
		}else if(palavraDigitada.equals("X")) {
			System.out.println("Saindo do jogo. Apertou o: " + palavraDigitada);
			apertou = true;
		}if(palavraDigitada.equals("x")) {
			System.out.println("Saindo do jogo. Apertou o: " + palavraDigitada);
			apertou = true;
			
		}
	}
	
	System.out.println("Aplicação finalizada com sucesso");

}

}

// Como faço para implentar para não ter numeros repetidos?

Da mesma forma como acontece na vida real:
Tenha uma lista com os números que você quer sortear, no caso os números de 1 à 99.
Depois remova um número de uma posição aleatória dessa lista.

Exemplo:

import java.util.*;

public class Teste {

  private static final Scanner entrada = new Scanner(System.in);

  public static void main(String[] args) {
    Random random = new Random();

    List<Integer> numeros = new ArrayList<>();
    for (int numero = 1; numero <= 99; numero++) {
      numeros.add(numero);
    }

    String letra;
    boolean sair = false;
    while (!sair) {
      System.out.print("Informe uma letra: ");
      letra = entrada.nextLine();

      if (letra.equalsIgnoreCase("c")) {
        int posicaoAleatoria = random.nextInt(numeros.size());
        int numeroSorteado = numeros.remove(posicaoAleatoria);
        System.out.println("Numero sorteado: " + numeroSorteado);

        if (numeros.isEmpty()) {
          System.out.println("Acabaram os números.\nSaindo do jogo.");
          sair = true;
        }    
      } else if (letra.equalsIgnoreCase("x")) {
        System.out.println("Apertou o: " + letra + "\nSaindo do jogo.");
        sair = true;
      }
    }
    System.out.println("Aplicação finalizada com sucesso");
  }
}
import java.util.*;

public class Bingo {

  private static final Scanner entrada = new Scanner(System.in);

  public static void main(String[] args) {
    Random random = new Random();

    List<Integer> numeros = new ArrayList<>();
    for (int numero = 1; numero <= 99; numero++) {
      numeros.add(numero);
      
        
    }
    
   
    String letra;
    boolean sair = false;
    while (!sair) {
      System.out.print("Informe uma letra: ");
      letra = entrada.nextLine();

      if (letra.equalsIgnoreCase("c")) {
        int posicaoAleatoria = random.nextInt(numeros.size());
        int numeroSorteado = numeros.remove(posicaoAleatoria);
        System.out.println("Numero sorteado: " + numeroSorteado);

        if (numeros.isEmpty()) {
          System.out.println("Acabaram os números.\nSaindo do jogo.");
          sair = true;
        }    
        
        	          
      } else if (letra.equalsIgnoreCase("x")) {
        System.out.println("Apertou o: " + letra + "\nSaindo do jogo.");
        sair = true;
        
       
        
    }
    System.out.println("Aplicação finalizada com sucesso");
  }
    
    int numeroSorteado = 0;
    String ver;
    boolean sairr = false;
    while (!sair) {
      System.out.print("Ao digitar VER, listará numeros já selecionados: ");
      letra = entrada.nextLine();
    
    
    if (letra.equalsIgnoreCase("ver")) {
    	    	  
	System.out.println(numeros.get(numeroSorteado));
    }     
  }
    
  }
}
  
//////////////// com aquele código estou tentando fazer que ao digitar a palavra VER mostre os números que já saíram. Criei um laço for mas não estou conseguindo.

Assim como no mundo real, você precisa de mais uma lista para armazenar os números sorteados.
Você remove um número de uma posição aleatória de uma lista e põe o número em outra lista que será exibida ao público.