Sei que o fórum esta praticamente morto, mas ainda assim sou grato aos seus criadores por me darem o conteúdo para poder aprender java, estava fazendo o exercício 9 do laço for (8.1), que pede:
9. Construa um aplicativo em Java para gerar 20 números de 1000 a 1999 e mostrar aqueles que divididos por 11 deixam resto 5.
Não consegui fazer sozinho, então olhei na resposta e descobri que tinha um erro na síntese do código resposta.
O erro é o seguinte, o programa gera 20 números, e mostra apenas aqueles dentro desses 20 números que dividido por 11 sobrem resto 5. Geralmente mostravam entre 3 e 5 números com essas condições. Não sei se era assim mesmo para ser, mas caso você queira mostrar 20 números que divididos por 11 sobrem resto 5, você deve mudar o contador de lugar.
O contador nessa parte só vai acrescentar 1 se a condição for verdadeira, então ele vai gerar mais de 20 numeros porém só vai imprimir 20 em que a condição seja verdadeira.
Desculpem se entendi errado o exercicio. Até mais.
9. Construa um aplicativo em Java para gerar 20 números de 1000 a 1999 e mostrar aqueles que divididos por 11 deixam resto 5.
Não consegui fazer sozinho, então olhei na resposta e descobri que tinha um erro na síntese do código resposta.
- Código:
import java.util.Random;
public class aleatorio1 {
public static void main(String[] args) {
// Passo 1: preparando o gerador
Random randomGenerator = new Random();
// Passo 2: gerando 20 números
for(int count=1 ; count <= 20 ; count++){ //ERRO NA SÍNTESE DESSA LINHA.
// Passo 3: gerando um número entre 1000 e 1999
int num_aleatorio = randomGenerator.nextInt(1000) + 1000;
// Passo 4: imprimindo somente os que deixam resto 5 na divisão por 11
if(num_aleatorio % 11 == 5)
System.out.println(num_aleatorio);
}
}
}
O erro é o seguinte, o programa gera 20 números, e mostra apenas aqueles dentro desses 20 números que dividido por 11 sobrem resto 5. Geralmente mostravam entre 3 e 5 números com essas condições. Não sei se era assim mesmo para ser, mas caso você queira mostrar 20 números que divididos por 11 sobrem resto 5, você deve mudar o contador de lugar.
- Código:
public static void main(String[] args){
int num_aleatorio;
// Passo 1: gerando 20 números
for(int count=1 ; count <= 20 ;){
// Passo 2: preparando o gerador
Random randomGenerator = new Random();
// Passo 3: gerando um número entre 1000 e 1999
num_aleatorio = randomGenerator.nextInt(1000) + 1000;
// Passo 4: imprimindo somente os que deixam resto 5 na divisao por 11
if(num_aleatorio % 11 == 5){
System.out.println(num_aleatorio);
count++; //AQUI!!!!!.
}
}
}
}
O contador nessa parte só vai acrescentar 1 se a condição for verdadeira, então ele vai gerar mais de 20 numeros porém só vai imprimir 20 em que a condição seja verdadeira.
Desculpem se entendi errado o exercicio. Até mais.