CodeGym /Cursos /All lectures for PT purposes /exemplos de loop while

exemplos de loop while

All lectures for PT purposes
Nível 1, Lição 480
Disponível

1. Somar números usando um whileloop

Vamos escrever um programa que leia números do teclado (contanto que o usuário insira algo que se pareça com um número) e exiba a soma na tela. Veja como ficaria o código de tal programa (estamos apenas mostrando o código dentro do mainmétodo).

Código Explicação
Scanner console = new Scanner(System.in);
int sum = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   sum = sum + x;
}
System.out.println(sum); 
Crie um Scannerobjeto para ler dados do console.
Armazenaremos a soma dos números na sumvariável.
Enquanto os números forem inseridos no console,

leia o próximo número na xvariável.
Adicionar xà soma dos números (a sumvariável).

Exiba a soma calculada na tela.

2. Encontrando o número máximo usando um whileloop

Nosso segundo programa também lerá números do teclado (desde que o usuário insira algo semelhante a um número), mas agora queremos exibir o maior dos números inseridos. Veja como ficaria o código de tal programa (estamos apenas mostrando o código dentro do mainmétodo).

Código Explicação
Scanner console = new Scanner(System.in);
int max = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   if (x > max)
     max = x;
}
System.out.println(max); 
Crie um Scannerobjeto para ler dados do console.
A maxvariável armazenará o máximo dos números.
Enquanto os números forem inseridos no console,

leia o próximo número na xvariável.
Compare xe max. Se xfor maior que max,
atualize o máximo.

Exibir o número máximo na tela.

Aqui está um ponto interessante: se todos os números inseridos no teclado forem negativos, o programa exibirá 0. O que está incorreto.

Como resultado, o valor inicial da variável max deve ser o menor possível.

Opção 1:

Você pode configurá-lo igual a -2,000,000,000(dois bilhões negativos). Este não é um mau começo.

Opção 2:

Atribua o menor intvalor possível. Existe uma constante especial para isso: Integer.MIN_VALUE;

Opção 3:

Melhor ainda, inicialize maxcom o primeiro número digitado. Essa é a melhor opção. Mas isso só funcionará se as condições da tarefa exigirem que o usuário insira pelo menos um número.

Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION