2
respostas

[Projeto] projeto vendavel

import Sale.Product;
import Sale.Service;

public class Main {
public static void main(String[] args) {
Product product = new Product();
Service service = new Service();

    product.ForSwitch1("brick");
    product.ForSwitch1("brick");
    product.ForSwitch1("cement");
    System.out.println(product.CalcTotalPrice());

    service.Forchoise("painter");
    service.Forchoise("painter");
    service.Forchoise("mason");
    System.out.println(service.CalcTotalPrice());


}

}package Sale;

public interface Vendavel {
double CalcTotalPrice();

}package Sale;

public class Product implements Vendavel {
String choise;
double price = 0.0;

public void ForSwitch1(String choise) {
    switch (choise) {

        case "brick":
            price += 10.50;

            break;

        case "cement":
            price += 20.85;

            break;

        default:

            break;
    }


}


@Override
public double CalcTotalPrice() {

    if (price > 104.25) {

        double descont = (10 * price) / 100;
        return price - descont;

    } else {

        double descont = (5 * price) / 100;
        return price - descont;
    }

}

}
package Sale;

public class Service implements Vendavel {

double pricePainter;
double priceMason;
String choise;
double price;

public void Forchoise(String choise) {
    switch (choise) {

        case "painter":
            price += 60.00;

            break;

        case "mason":
            price += 80.00;

            break;

        default:

            break;
    }


}


@Override
public double CalcTotalPrice() {
    if (price > 280) {

        double descont = price * 0.20;
        return price - descont;

    } else {

        double descont = price * 0.13;
        return price - descont;
    }
}

}

2 respostas

Oi, Joao Pedro! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.

Seu projeto ficou bem estruturado, com uso consistente da interface Vendavel e separação entre produto e serviço. A lógica de desconto nas classes Product e Service está clara e bem aplicada.

Uma dica interessante para o futuro é utilizar enum para representar as opções de produto ou serviço, evitando erros por digitação e facilitando a manutenção do código. Veja este exemplo:


enum TipoProduto {
    BRICK, CEMENT
}

Usar enum ajuda a deixar o código mais seguro e legível.

Alura

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

oi Rafaela, queria entender melhor o enum e como aplicar ele no meu código