Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Minha solução

import java.util.Scanner;

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

        System.out.print("Digite a primeira nota: ");
        double nota1 = scanner.nextDouble();

        System.out.print("Digite a segunda nota: ");
        double nota2 = scanner.nextDouble();

        double media = (nota1 + nota2) / 2;
        int mediaArredondada = (int) Math.round(media);

        System.out.println(String.format("" +
                "Media sem arredondamento (Somente com 2 numeros após a vírgula): %.2f", media));

        System.out.println("Media arredondada: " + mediaArredondada);
    }
}

O desafio de media de notas eu decidi fazer um pouco a mais doque estava sendo proposto, usei algumas funções a mais do Java que eu já conhecia e vou explicar elas neste tópico do Fórum caso alguém queira se desafiar um pouco mais e conhecer cada vez mais desta tecnologia.

A primeira diferença se nota na primeira linha do código, onde eu importei o pacote java.util.Scanner e logo depois de declarar o método Main eu já criei um objeto Scanner(System.in) para poder receber dados de entrada do teclado no código, isso faz com que o meu código não fique engessado somente com aqueles dados que eu defini de início.

Além disso, na conversão foi utilizado o método Math.round() combinado com cast, a fim de garantir um arredondamento mais preciso e fiel. Dessa forma, os valores são arredondados para cima quando a parte decimal é igual ou superior a 0,5 e, caso contrário, arredondados para baixo.

2 respostas
solução!

Oi, Diego, como vai?

O seu código ficou excelente e a sua iniciativa de ir além do que foi proposto na atividade demonstra muita dedicação. A implementação do Scanner para tornar o programa interativo foi uma ótima escolha, e o uso de estruturas como Math.round em conjunto com o casting resolveu o problema de arredondamento de forma muito precisa. Você compreendeu perfeitamente os conceitos de tipos primitivos e manipulação de variáveis no Java.

Pensando nessa autonomia que você deu ao usuário final ao permitir a digitação das notas, como você lidaria no código se a pessoa digitasse um valor inválido, como uma nota menor que zero ou maior que dez?

Parabéns pelo excelente trabalho no desenvolvimento desse código e por compartilhar suas explicações detalhadas, pois isso ajuda muito toda a comunidade. Lembre-se de que o fórum está sempre à disposição para você acompanhar outras discussões, interagir e continuar compartilhando seus aprendizados.

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

Realmente no momento esqueci completamente da possibilidade do valor inválido, muito obrigado pela sugestão!