loops-e-arrays icon indicating copy to clipboard operation
loops-e-arrays copied to clipboard

Ex3_MaiorMedia

Open ThiagoFSPaiva opened this issue 4 years ago • 5 comments

Estou fazendo o Bootcamp TQI da Dio e na aula de resolução do exercício Ex3,fiz a media de um jeito diferente, so que não pensei em uma forma de fazer a segunda parte que seria "Maior", queria saber se tem como completar com o jeito que eu fiz, ou se não pode fazer desta maneira

public static void main(String[] args) { Scanner scan = new Scanner(System.in);

    int numero = 0;
    int contador=0;
    int maior= 0;

    while (contador < 5){
        contador++;
        System.out.println("Insira um número");
        numero+= scan.nextInt();

    }

    numero /= contador;
    System.out.println(numero);


}

}

ThiagoFSPaiva avatar Dec 08 '21 02:12 ThiagoFSPaiva

Oie, tudo bom? Parabéns pela iniciativa! Deixa eu tentar te ajudar:

  public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    int numero = 0;
    int contador = 0;
    int maior = 0;

    while (contador < 5) {
      contador++;
      System.out.println("Insira um número");
      //Cada input será somado e armazenado na variável 'numero' por conta do operador (+=)
      numero += scan.nextInt();
      
      //Precisamos saber se o valor armazenaso na variável 'número' é maior do que a variável 'maior'
      //Caso seja, o valor da variável 'maior' será o mesmo da variável 'número'.
      if (numero > maior) {
        maior = numero;
      }

    }

    //Divisão do número (que será a soma de todos os inputs) pelo contador que no caso será 5.
    //Lembrando que o valor da divisão será um inteiro. 
    //O mesmo será atribuído a variável 'número' por conta do operador (/=).
    numero /= contador;

    //impressão do resultado da divisão acima.
    System.out.println(numero);

    //impressão do maior número
    System.out.println(maior);
    
  }
}

Não entendi alguns trechos do seu código. Vou colar aqui:

  1. numero += scan.nextInt();
  2. numero /= contador;

cami-la avatar Dec 09 '21 18:12 cami-la

show ,estou eu aqui admirada como vc ensina bem, obrigado por contribuir com seu conhimento.

elianecampos avatar Dec 20 '21 23:12 elianecampos

show ,estou eu aqui admirada como vc ensina bem, obrigado por contribuir com seu conhimento.

Eu quem agradeço a dedicação! Sei muito bem que o início não é fácil e por isso me esforço para deixar mais simples possível. 😌

cami-la avatar Dec 20 '21 23:12 cami-la

Neste exercício, por descuido eu fiz: do { System.out.println("Número: "); numero = scan.nextInt(); count = count++; }while (count < 5);

E qual não foi a minha surpresa ao descobrir que, se eu usar "count = count++;" no lugar de "count = count + 1;" ou simplesmente "count++", o programa entra em loop infinito, apenas pedindo os números! Pq isso acontece? Tentei entender de todo jeito e não consegui!!

JuniorMoura10 avatar Dec 29 '21 18:12 JuniorMoura10

Neste exercício, por descuido eu fiz: do { System.out.println("Número: "); numero = scan.nextInt(); count = count++; }while (count < 5);

E qual não foi a minha surpresa ao descobrir que, se eu usar "count = count++;" no lugar de "count = count + 1;" ou simplesmente "count++", o programa entra em loop infinito, apenas pedindo os números! Pq isso acontece? Tentei entender de todo jeito e não consegui!!

Oi, amigão boa tarde. count++; é a abreviação de count = count + 1; Logo, count = count++; é meio que "impossível". O valor da variável count sempre será 0, logo entra no looping infinito.

  • Coloquei o breakpoint para ver o valor da variável count no caso de count = count++;. Tenta aí que sempre ficará no valor de 0:

2021-12-29_15-20

  • Neste caso, usei o count++;

2021-12-29_15-22

cami-la avatar Dec 29 '21 18:12 cami-la