Repita Instruções: Java, enquanto Demonstrações

Aqui está um jogo de adivinhação para você testar sua compreensão de Java. O computador gera um número aleatório de 1 a 10. O computador pede-lhe para adivinhar o número. Se você adivinhar incorretamente, o jogo continua. Assim que você adivinhar corretamente, o jogo acabou. Esta lista mostra o programa para jogar o jogo, e a figura mostra uma rodada do jogo.

image0.jpg
importação java.lang.System.out-import java.util.Scanner-import classe java.util.Random-public static GuessAgain {static void main (args String []) públicas {Scanner Teclado = new Scanner (System.in) - int numGuesses = 0-int randomNumber = new Random (). nextInt (10) + 1-out.println ( "************") -out.println ( "Bem-vindo ao jogo de adivinhação ") -out.println (" ************ ") -out.println () - out.print (" Enter um int 1-10: ") -int entraNumero = teclado. nextInt () - ++ - numGuesseswhile (entraNumero! = randomNumber) {out.println () - out.println ( "Tente outra vez ...") - out.print ( "Enter um int 1-10:") -inputNumber = keyboard.nextInt () - numGuesses ++ -}out.print ( "Você ganha depois") -out.println (numGuesses + "suposições".) - keyboard.close () -}}

Na figura, o usuário faz quatro palpites. Cada vez, o computador verifica para ver se a suposição é correta. Uma estimativa incorreta gera uma solicitação para tentar novamente. Para um palpite correto, o usuário recebe uma empolgante Você ganha, juntamente com uma contagem do número de tentativas feitas ele ou ela.

O computador repete várias declarações, verificando cada vez através de ver se palpite do usuário é o mesmo que um certo número gerado aleatoriamente. Cada vez que o usuário faz uma suposição, o computador adiciona 1 à sua contagem de suposições. Quando o usuário faz o palpite correto, o computador exibe a correspondência. A figura ilustra o fluxo de acção.

image1.jpg

Quando você olhar sobre o perfil, você vê o código que faz todo este trabalho. No núcleo do código é uma coisa chamada enquanto declaração (Também conhecido como um while). Reformulada em Inglês, o enquanto declaração diz:

enquanto o entraNumero não é igual ao randomNumberkeep fazendo todas as coisas entre chaves: {}

O material entre chaves (o material que se repete) é o código que imprime Tente novamente e Insira um int. . ., obtém um valor a partir do teclado, e adiciona 1 à contagem de tentativas do usuário.

Quando você está lidando com os contadores, como numGuesses na listagem, você pode facilmente tornar-se confuso e estar fora por 1 em qualquer direção. Você pode evitar essa dor de cabeça, certificando-se de que o ++ declarações ficar perto das declarações cujos eventos você está contando.

Por exemplo, no perfil, a variável numGuesses inicia-se com um valor de 0. Isso porque, quando o programa começa a ser executado, o usuário não fez nenhuma tentativa. Mais tarde no programa, logo após cada chamada para keyboard.nextInt, é uma numGuesses ++ declaração. Isso é como você fazê-lo - você incrementar o contador assim que o usuário entra em uma outra suposição.

As declarações chaves são repetidas enquanto entraNumero! = randomNumber é verdade. Cada repetição das instruções no loop é chamada de iteração do ciclo. Na figura, o circuito é submetido a três iterações. (Se você não acredita que a figura tem exatamente três iterações, contar o número de Tente novamente carimbada em saída do programa. UMA Tente novamente aparece para cada suposição incorreta.)

Quando, finalmente, o usuário digita o palpite correto, o computador vai voltar para o topo da enquanto declaração, verifica a condição entre parênteses, e encontra-se em dupla terra dupla negativa. A não igualdade (!=) relacionamento entre entraNumero e número aleatório não se sustenta mais.

Em outras palavras, o enquanto A condição de declaração, entraNumero! = randomNumber, é falsa. Porque o enquanto A condição de declaração é falsa, o computador pula após o enquanto loop e prossegue as declarações logo abaixo da enquanto loop. Em essas duas declarações, o computador imprime Você ganha após 4 palpites.

Com o código do tipo mostrado na listagem, o computador nunca salta em meados de loop. Quando o computador descobre que entraNumero não é igual número aleatório, o computador em marcha e executa todas as cinco declarações dentro chaves do laço. O computador executa o teste novamente (para ver se entraNumero Ainda não é igual número aleatório) Somente após ele executa plenamente todas as cinco instruções no loop.

menu