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.
Começa pedindo para o usuário digitar uma tecla e pressionar ENTER, se a tecla pressionada for “r”, você sorteia um número.
K
kamilaads
Através do método scanner?
K
kamilaads
através do scanner?
staroski
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.
publicstaticvoidmain(String[]args){Randomrandom=newRandom();intnumeroInteiroAleatorio=random.nextInt(99);Scannerleitor=newScanner(System.in);Stringresposta=leitor.next();if("r".equals(resposta)){System.out.println("Número: "+numeroInteiroAleatorio);}elseif("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.
publicstaticvoidmain(String[]args){Scannerentrada=newScanner(System.in);RandomnumeroRandomico=newRandom();StringpalavraDigitada="";booleanapertou=false;while(apertou==false){System.out.println("Informe uma letra:");palavraDigitada=entrada.nextLine();if(palavraDigitada.equals("C")){intnumeroGerado=numeroRandomico.nextInt(99);System.out.println("Numero gerado: "+numeroGerado);}if(palavraDigitada.equals("c")){intnumeroGerado=numeroRandomico.nextInt(99);System.out.println("Numero gerado: "+numeroGerado);}elseif(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?
staroski
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:
importjava.util.*;publicclassTeste{privatestaticfinalScannerentrada=newScanner(System.in);publicstaticvoidmain(String[]args){Randomrandom=newRandom();List<Integer>numeros=newArrayList<>();for(intnumero=1;numero<=99;numero++){numeros.add(numero);}Stringletra;booleansair=false;while(!sair){System.out.print("Informe uma letra: ");letra=entrada.nextLine();if(letra.equalsIgnoreCase("c")){intposicaoAleatoria=random.nextInt(numeros.size());intnumeroSorteado=numeros.remove(posicaoAleatoria);System.out.println("Numero sorteado: "+numeroSorteado);if(numeros.isEmpty()){System.out.println("Acabaram os números.\nSaindo do jogo.");sair=true;}}elseif(letra.equalsIgnoreCase("x")){System.out.println("Apertou o: "+letra+"\nSaindo do jogo.");sair=true;}}System.out.println("Aplicação finalizada com sucesso");}}
K
kamilaads
importjava.util.*;publicclassBingo{privatestaticfinalScannerentrada=newScanner(System.in);publicstaticvoidmain(String[]args){Randomrandom=newRandom();List<Integer>numeros=newArrayList<>();for(intnumero=1;numero<=99;numero++){numeros.add(numero);}Stringletra;booleansair=false;while(!sair){System.out.print("Informe uma letra: ");letra=entrada.nextLine();if(letra.equalsIgnoreCase("c")){intposicaoAleatoria=random.nextInt(numeros.size());intnumeroSorteado=numeros.remove(posicaoAleatoria);System.out.println("Numero sorteado: "+numeroSorteado);if(numeros.isEmpty()){System.out.println("Acabaram os números.\nSaindo do jogo.");sair=true;}}elseif(letra.equalsIgnoreCase("x")){System.out.println("Apertou o: "+letra+"\nSaindo do jogo.");sair=true;}System.out.println("Aplicação finalizada com sucesso");}intnumeroSorteado=0;Stringver;booleansairr=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.
staroski
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.