1
resposta

[Sugestão] Desafio calculadora de área

Segue abaixo minha solução para a calculadora de área: Classe principal:

import java.util.ArrayList;
import java.util.Scanner;

public class CalculadoraArea {
    public static void main(String[] args) throws InterruptedException {
        Scanner scanner = new Scanner(System.in);
        Quadrado quadrado = new Quadrado();
        Triangulo triangulo = new Triangulo();
        Circulo circulo = new Circulo();

        System.out.println("Calculadora de área de figuras geométricas 1.0");
        System.out.println("Digite o lado do Quadrado: ");
        quadrado.lado = scanner.nextDouble();
        System.out.println("Digite a base do triângulo: ");
        triangulo.base = scanner.nextDouble();
        System.out.println("Digite a altura do triângulo: ");
        triangulo.altura = scanner.nextDouble();
        System.out.println("Digite a o raio do círculo: ");
        circulo.raio = scanner.nextDouble();
        System.out.println("calculando...");
        Thread.sleep(3000);
        ArrayList<Forma> listaForma = new ArrayList<>();
        listaForma.add(triangulo);
        listaForma.add(quadrado);
        listaForma.add(circulo);

        for (Forma item : listaForma) {
            System.out.println("Área do " + item.getClass().getName() +  ": " + item.calcularArea());

        }

        scanner.close();

    }
}

Classe áreas e interface (Todas criadas separadamente):

public class Triangulo implements Forma{
    double base;
    double altura;

    @Override
    public double calcularArea() {
        return (base * altura ) / 2;
    }
}



public class Circulo implements Forma{
    double raio;

    @Override
    public double calcularArea() {
        return Math.PI * raio * raio;
    }
}



public class Quadrado implements Forma {
    double lado;

    @Override
    public double calcularArea() {
        return lado * lado;
    }
}


public interface Forma {
    double calcularArea();
}
1 resposta

Olá, Guilherme. Tudo bem?

Obrigado por compartilhar seu código aqui com a gente. Sua implementação para a calculadora de áreas está bem organizada e correta. Gostei especialmente da forma como você utilizou a interface Forma para garantir que todas as classes geométricas implementem o método calcularArea(). Isso promove a reutilização de código e facilita a manutenção.

Parabéns pela dedicação e pelo trabalho.

Conte com o apoio do Fórum. Bons estudos!