1
resposta

[Sugestão] Minha solução pro exercício 4 (Conversor Temperatura) refatorada

public class Main {
    public static void main(String[] args) {


        ConversorTemperatura conversorFahrenheitParaCelsius = criaConversor("F");
        ConversorTemperatura conversorCelsiusParaFahrenheit = criaConversor("C");
        System.out.println(conversorFahrenheitParaCelsius.converte(98.6)+"Fº");
        System.out.println(conversorCelsiusParaFahrenheit.converte(28)+"Cº");

    }

    public static ConversorTemperatura criaConversor(String unidadeOrigem) {
        if(unidadeOrigem.equals("F")) {
            return new ConversorFahrenheitParaCelsius();
        }else if (unidadeOrigem.equals("C")) {
            return new ConversorCelsiusParaFahrenheit();

        }
        return null;
    }
}
1 resposta

Oi, Katidnts! Como vai?

Sua refatoração ficou clara e com boa separação de responsabilidades entre os objetos. A criação dinâmica do conversor usando o método criaConversor é uma forma eficiente de aplicar polimorfismo sem perder a legibilidade do código.

Uma dica interessante para o futuro é usar Scanner para receber valores do usuário diretamente pelo terminal, o que deixa o programa mais interativo:


import java.util.Scanner;

Scanner entrada = new Scanner(System.in);
System.out.print("Digite a temperatura: ");
double temp = entrada.nextDouble();
System.out.println(conversorFahrenheitParaCelsius.converte(temp));

Esse trecho lê uma temperatura digitada e imprime o resultado da conversão.

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