1
resposta

[Sugestão] Desafio Vendavel

import java.util.Scanner;

interface Vendavel {
    double calcularPrecoTotal(int quantidade);
    double aplicarDesconto(double desconto);
}

class Produto implements Vendavel {
    private double precoUnitario;

    public Produto(double precoUnitario) {
        this.precoUnitario = precoUnitario;
    }

    @Override
    public double calcularPrecoTotal(int quantidade) {
        return precoUnitario * quantidade;
    }

    @Override
    public double aplicarDesconto(double desconto) {
        return precoUnitario - (precoUnitario * desconto);
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Digite o preço unitário do produto: ");
        double precoUnitario = scanner.nextDouble();
        System.out.print("Digite a quantidade do produto: ");
        int quantidade = scanner.nextInt();
        System.out.print("Digite o desconto do produto (em %): ");
        double desconto = scanner.nextDouble() / 100;

        Produto produto = new Produto(precoUnitario);
        System.out.println("Preço total para " + quantidade + " unidades: " + produto.calcularPrecoTotal(quantidade));
        System.out.println("Preço unitário com desconto de " + (desconto * 100) + "%: " + produto.aplicarDesconto(desconto));
    }
}

class Servico implements Vendavel {
    private double precoHora;
    private int horas;

    public Servico(double precoHora, int horas) {
        this.precoHora = precoHora;
        this.horas = horas;
    }

    @Override
    public double calcularPrecoTotal(int quantidade) {
        return precoHora * horas * quantidade;
    }

    @Override
    public double aplicarDesconto(double desconto) {
        return precoHora * horas - (precoHora * horas * desconto);
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Digite o preço por hora do serviço: ");
        double precoHora = scanner.nextDouble();
        System.out.print("Digite a quantidade de horas do serviço: ");
        int horas = scanner.nextInt();
        System.out.print("Digite o desconto do serviço (em %): ");
        double desconto = scanner.nextDouble() / 100;

        Servico servico = new Servico(precoHora, horas);
        System.out.println("Preço total para " + horas + " horas: " + servico.calcularPrecoTotal(1));
        System.out.println("Preço com desconto de " + (desconto * 100) + "%: " + servico.aplicarDesconto(desconto));
    }
}
1 resposta

Oi, Lukoki, tudo bem?

Parabéns pelo resultado e obrigado por compartilhar no fórum e contribuir com a comunidade!

Continue mergulhando em tecnologia e se tiver dúvidas, conte com o fórum.

Abraços e bons estudos!