Fácil Java

Calculadora de média simples

Enunciado

Crie um programa que calcule a média aritmética de três números inteiros e exiba o resultado como um valor double. Use casting ou promoção para garantir que a divisão não seja inteira.

Requisitos

  • Declare três variáveis int com valores 7, 8 e 9.
  • Calcule a média usando double e exiba com uma casa decimal.
  • A saída deve ser exatamente Média: 8.0.

Código inicial

public class MediaSimples {
    public static void main(String[] args) {
        // Declare as variáveis e calcule a média
    }
}

Saída esperada

Média: 8.0
Ver dica

Para obter divisão real, converta a soma para double antes de dividir: (double)(a + b + c) / 3.

Mostrar solução
public class MediaSimples {
    public static void main(String[] args) {
        int a = 7, b = 8, c = 9;
        double media = (double)(a + b + c) / 3; // casting para double
        System.out.printf("Média: %.1f%n", media);
    }
}

Passo a passo

  1. Declaramos três variáveis inteiras a, b e c com os valores 7, 8 e 9.
  2. Somamos os três valores: a + b + c resulta em 24 (int).
  3. Aplicamos o casting (double) na soma para convertê-la para 24.0.
  4. Dividimos por 3 (int), mas como o numerador é double, a divisão é real e resulta em 8.0.
  5. Usamos System.out.printf com %.1f para formatar a saída com uma casa decimal.

Por que funciona

O casting explícito (double) promove a soma para ponto flutuante antes da divisão, evitando a divisão inteira que truncaria o resultado. A promoção numérica também ocorreria automaticamente se um dos operandos fosse double, mas o casting deixa a intenção clara.

Erros comuns

  • Esquecer o casting: double media = (a + b + c) / 3; resulta em 8.0? Não, resulta em 8.0? Na verdade, 24 / 3 é 8 (int), depois convertido para 8.0. Mas se a soma não fosse divisível, como 7+8+9=24, ainda dá certo. Se fosse 7+8+8=23, 23/3 seria 7 e depois 7.0. O correto é (double)(a + b + c) / 3.
  • Usar float em vez de double: float tem menos precisão, mas para este caso não afeta. Prefira double.

Outra forma de resolver

Usar promoção implícita declarando um dos operandos como double:

double media = (a + b + c) / 3.0;

Isso é mais conciso e evita o casting explícito.

Saída esperada

Média: 8.0