Desafio6: Crie uma interface Vendavel com métodos para calcular o preço total de um produto com base na quantidade comprada e aplicar descontos. Implemente essa interface nas classes Produto e Servico, cada uma fornecendo a sua própria lógica de cálculo de preço.
public interface Vendavel {
public void precoTotal();
public void aplicarDesconto();
}
import java.util.Scanner;
public class Produto implements Vendavel {
private String produto;
private int quantidadeProduto;
private double precoProduto;
private double precoTotal;
private double desconto;
private double valorAposDesconto;
Scanner sc = new Scanner(System.in);
@Override
public void precoTotal() {
System.out.println("===== SAÍDA DADOS - PRODUTO =====\n");
this.setPrecoTotal(this.getPrecoProduto() * this.getQuantidadeProduto());
System.out.println("Preço total: " + this.getPrecoTotal() + " para quantidade de: "
+ this.getQuantidadeProduto() + " peças.");
}
@Override
public void aplicarDesconto() {
this.setDesconto(this.getPrecoTotal() * 0.1);
this.setValorAposDesconto(this.getPrecoTotal() - this.getDesconto());
System.out.println("Você teve desconto de: R$ " + this.getDesconto());
System.out.println("O valor da compra após desconto é de: R$ " + this.getValorAposDesconto());
}
public void entrarDados() {
System.out.println("\nInsira o nome do produto: ");
this.setProduto(sc.next());
System.out.println("Insira o preço do produto: ");
this.setPrecoProduto(sc.nextDouble());
System.out.println("Insira a quantidade do produto: ");
this.setQuantidadeProduto(sc.nextInt());
this.precoTotal();
this.aplicarDesconto();
}
public String getProduto() {
return produto;
}
public void setProduto(String produto) {
this.produto = produto;
}
public int getQuantidadeProduto() {
return quantidadeProduto;
}
public void setQuantidadeProduto(int quantidadeProduto) {
this.quantidadeProduto = quantidadeProduto;
}
public double getPrecoProduto() {
return precoProduto;
}
public void setPrecoProduto(double precoProduto) {
this.precoProduto = precoProduto;
}
public double getPrecoTotal() {
return precoTotal;
}
public void setPrecoTotal(double precoTotal) {
this.precoTotal = precoTotal;
}
public double getDesconto() {
return desconto;
}
public void setDesconto(double desconto) {
this.desconto = desconto;
}
public double getValorAposDesconto() {
return valorAposDesconto;
}
public void setValorAposDesconto(double valorAposDesconto) {
this.valorAposDesconto = valorAposDesconto;
}
}