Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

notas dados

import java.util.stream.Collectors;
import java.util.*;

public class Principal {
    public static void main(String[] args) {


        Scanner scanner = new Scanner(System.in);
        
         int saida=1;
        double nota=0;
        Set<Double>notas1=new HashSet<>();
         while(saida==1){
             System.out.println("escreva sua nota: ");
             nota=scanner.nextDouble();
             notas1.add(nota);
             System.out.println("digite 1 para continuar ou 0 para sair ");
             saida=scanner.nextInt();

         }



        double totalNotas=notas1.stream().reduce(0.0,(a,b)->a+b);
        double media=totalNotas / notas1.size();
        System.out.println("media das notas: "+media);
        System.out.println("maior nota: "+notas1.stream().max(Double::compareTo).get());
        System.out.println("menor nota: "+notas1.stream().min(Double::compareTo).get());
1 resposta

Oi, Felipe. Tudo bem com você?

Obrigado por compartilhar sua solução. Seu código atende ao objetivo da atividade, utilizando reduce() para calcular a soma das notas e os métodos max() e min() da Stream para obter a maior e a menor nota. O cálculo da média também foi realizado corretamente a partir da soma dividida pela quantidade de elementos armazenados.

Há apenas um detalhe que vale a pena observar. Você optou por utilizar um HashSet, que não permite valores duplicados. Isso significa que, se dois alunos obtiverem a mesma nota, apenas uma delas será armazenada. Em um cenário de notas de uma turma, normalmente o mais adequado seria utilizar uma List<Double>, já que diferentes alunos podem ter exatamente a mesma nota.

Como você adaptaria esse programa para permitir que notas repetidas fossem consideradas no cálculo das estatísticas?

Parabéns pela resolução e por compartilhar seu código. Continue participando do fórum. Estamos à disposição para ajudar.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!