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
intcom valores 7, 8 e 9. - Calcule a média usando
doublee 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
- Declaramos três variáveis inteiras
a,beccom os valores 7, 8 e 9. - Somamos os três valores:
a + b + cresulta em 24 (int). - Aplicamos o casting
(double)na soma para convertê-la para24.0. - Dividimos por
3(int), mas como o numerador édouble, a divisão é real e resulta em8.0. - Usamos
System.out.printfcom%.1fpara 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 em8.0? Não, resulta em8.0? Na verdade,24 / 3é8(int), depois convertido para8.0. Mas se a soma não fosse divisível, como7+8+9=24, ainda dá certo. Se fosse7+8+8=23,23/3seria7e depois7.0. O correto é(double)(a + b + c) / 3. - Usar
floatem vez dedouble:floattem menos precisão, mas para este caso não afeta. Prefiradouble.
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