tenho um vetor com 3 Strings, estou usando a classe Math.Random para sortear uma das 3, porém sempre pega a primeira palavra... e caso a palavra sorteada seja lua devo digitar a mesma para aparecer a mensagem. Mas não consigo nem digitar a palavra,, acredito que meu erro deva estar no vetor onde declareis as palavras
Stringpalavras[]={" lua","casa","pia"};for(inti=0; i < palavras.length; i++){System.out.println(palavras[(int)Math.random()]);System.out.println(" digite uma palavra");if("lua".equalsIgnoreCase("lua")){
System.out.println(" você acertou");
A partir dai voce adapta a suas necessidades, bom codigo :wink:
Tem gente que gosta de complicar o que é feito para ser simples:
a) O construtor padrão da classe Random já inicia ele com System.currentTimeMillis();
b) Uma das versões do método next() já possui o valor máximo a ser sorteado.
Seu código poderia ser muito mais simples:
Randomrandom=newRandom();intn=random.nextInt(3);
Acho que o objetivo do software era ser assim:
finalintTENTATIVAS=5;Randomrandom=newRandom();Scannerin=newScanner(System.in);Stringpalavras[]={" lua","casa","pia"};for(inti=0;i<TENTATIVAS;i++){Stringsorteio=palavras[random.nextInt(palavras.length)];System.out.println("Digite uma palavra:");Stringdigitado=in.nextLine();if(sorteio.equalsIgnoreCase(digitado)){System.out.println("Você acertou");}else{System.out.println("Você errou o certo era: "+sorteio);}}
Note que "lua".equalsIgnoreCase("lua") é uma tautologia. Ou seja, isso sempre retorna true.
guijocargo
Tem gente que gosta de complicar o que é feito para ser simples:
a) O construtor padrão da classe Random já inicia ele com System.currentTimeMillis();
b) Uma das versões do método next() já possui o valor máximo a ser sorteado.
:oops: bom, agradeco pela dica vi a postagem e lembrei que tinha feito algo assim a uns meses atras (ano passado acho ‘-’)
Mas obrigado pelo aviso ViniGodoy
P.S.: Esqueci como se coloca autor na citacao :? (se alguem for me dar um help quanto a isso, manda PM pra nao postar aqui sem precisar, valeu!! :D)