1
resposta

[Projeto] Resolução do quarto desafio: hora da prática parte 1

Crie uma classe ConversorMoeda que implementa uma interface ConversaoFinanceira com o método converterDolarParaReal() para converter um valor em dólar para reais. A classe deve receber o valor em dólar como parâmetro.

// Interface ConversaoFinanceira
public interface ConversaoFinanceira {
    void converterDolarParaReal(double valorDolar);
}

// Classe ConversorMoeda implementando ConversaoFinanceira
public class ConversorMoeda implements ConversaoFinanceira {
    @Override
    public void converterDolarParaReal(double valorDolar) {
        double cotacaoDolar = 5.30;
        double valorReal = valorDolar * cotacaoDolar;
        System.out.println("O valor em reais é: R$" + valorReal);
    }
}

// Classe de Teste
public class TesteConversorMoeda {
    public static void main(String[] args) {
        ConversorMoeda conversor = new ConversorMoeda();
        conversor.converterDolarParaReal(50); // Exemplo com o valor em dólar
    }

}

Crie uma classe CalculadoraSalaRetangular que implementa uma interface CalculoGeometrico com os métodos calcularArea() e calcularPerimetro() para calcular a área e o perímetro de uma sala retangular. A classe deve receber altura e largura como parâmetros.

// Interface CalculoGeometrico
public interface CalculoGeometrico {
    void calcularArea(double altura, double largura);
    void calcularPerimetro(double altura, double largura);
}

// Classe CalculadoraSalaRetangular implementando CalculoGeometrico
public class CalculadoraSalaRetangular implements CalculoGeometrico {
    @Override
    public void calcularArea(double altura, double largura) {
        double area = altura * largura;
        System.out.println("A área da sala retangular é: " + area);
    }

    @Override
    public void calcularPerimetro(double altura, double largura) {
        double perimetro = 2 * (altura + largura);
        System.out.println("O perímetro da sala retangular é: " + perimetro);
    }
}

// Classe de Teste
public class TesteCalculadoraSalaRetangular {
    public static void main(String[] args) {
        CalculadoraSalaRetangular calculadora = new CalculadoraSalaRetangular();
        calculadora.calcularArea(7, 9); // Exemplo com altura e largura
        calculadora.calcularPerimetro(7, 9);
    }

}

Crie uma classe TabuadaMultiplicacao que implementa uma interface Tabuada com o método mostrarTabuada() para exibir a tabuada de um número. A classe deve receber o número como parâmetro.

// Interface Tabuada
public interface Tabuada {
    void mostrarTabuada(int numero);
}

// Classe TabuadaMultiplicacao implementando Tabuada
public class TabuadaMultiplicacao implements Tabuada {
    @Override
    public void mostrarTabuada(int numero) {
        System.out.println("Tabuada de multiplicação do " + numero + ":");
        for (int i = 1; i <= 10; i++) {
            int resultado = numero * i;
            System.out.println(numero + " x " + i + " = " + resultado);
        }
    }
}

// Classe de Teste
public class TesteTabuadaMultiplicacao {
    public static void main(String[] args) {
        TabuadaMultiplicacao tabuada = new TabuadaMultiplicacao();
        tabuada.mostrarTabuada(5); // Exemplo com o número 5
    }

}
1 resposta

Olá, Rômulo! Como vai?

Muito bem! Continue resolvendo os desafios e compartilhando com a comunidade Alura.

Observei que você explorou o uso de interfaces para garantir um contrato de implementação, utilizou muito bem o polimorfismo para adaptar o comportamento das classes e ainda compreendeu a importância do encapsulamento para organizar melhor a lógica de cálculo.

Uma dica interessante para o futuro é usar o retorno de valores ao invés de apenas System.out.println() nos métodos de cálculo. Dessa forma:

public double calcularArea(double altura, double largura) {
    return altura * largura;
}

Resultado:

double area = calculadora.calcularArea(7, 9);
System.out.println("Área: " + area);

Isso permite reutilizar os valores em outras operações, tornando o código mais flexível e orientado a boas práticas.

Ícone de sugestão Para saber mais:

Sugestão de conteúdo para você mergulhar ainda mais sobre o tema:

Alguns materiais estão em inglês, mas é possível compreendê-los usando o recurso de tradução de páginas do próprio navegador.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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