Índice:
Vídeo: Java Shell: O que é, e como usar o novo REPL (console iterativo) do Java 9 2024
Para facilitar a escrita dos seus loops do seu programa Java, você precisa saber como as declarações de quebra e continuação de Java afetam as iterações de loop.
Declaração de quebra de Java
Faça um ganho no programa abaixo. O programa gera aleatoriamente um número de 1 a 10, e solicita repetidamente ao usuário adivinhar esse número.
Listagem 1
importar java estável. lang. Sistema. Fora; importar java. util. Scanner; importar java. util. Aleatória; classe pública GuessAgain {public static void main (String args []) {Scanner keyboard = new Scanner (System in); int numGuesses = 0; int randomNumber = novo Random (). nextInt (10) + 1; Fora. println ("************"); Fora. println ("Welcome to the Guessing Game"); Fora. println ("************"); Fora. println (); Fora. imprimir ("Insira um int de 1 a 10:"); int inputNumber = teclado. nextInt (); numGuesses ++; enquanto (inputNumber! = RandomNumber) { para fora. println (); Fora. println ("Tente novamente …"); Fora. imprimir ("Insira um int de 1 a 10:"); inputNumber = teclado. nextInt (); numGuesses ++; } para fora. imprimir ("Você ganha depois"); Fora. println (numGuesses + "adivinhações"); teclado. close ();}}
A figura abaixo mostra uma execução do código. O usuário faz cinco suposições. A cada vez, o computador verifica se o palpite está correto. Um palpite incorreto gera uma solicitação para tentar novamente. Para um palpite correto, o usuário recebe uma excitação que você ganha, juntamente com um recorde do número de suposições que ele ou ela fez. O computador está repetindo várias instruções uma e outra vez, verificando cada vez para ver se o palpite do usuário é o mesmo que o número gerado aleatoriamente. Cada vez que o usuário adivinha, o computador adiciona 1 ao seu recorde de suposições. Quando o usuário faz o palpite correto, o computador exibe essa contagem.
O que é estranho com este programa? Bem, algumas declarações aparecem mais de uma vez no programa. Normalmente, uma declaração que é copiada de uma parte de um programa para outro não é motivo de preocupação. Mas, a estratégia geral parece suspeita. O programa obtém um número do usuário antes do loop e (novamente) dentro do loop.
para fora. imprimir ("Insira um int de 1 a 10:"); int inputNumber = teclado. nextInt (); numGuesses ++; enquanto (inputNumber! = RandomNumber) {out. println (); Fora. println ("Tente novamente …"); para fora. imprimir ("Insira um int de 1 a 10:"); inputNumber = teclado. nextInt (); numGuesses ++; }
Este código usa um truque padrão para fazer loops funcionar. Chama-se iniciando um loop. O padrão é