Desafio5: Crie uma interface Calculavel com um método double calcularPrecoFinal(). Implemente essa interface nas classes Livro e ProdutoFisico, cada uma retornando o preço final considerando descontos ou taxas adicionais.
public interface Calculavel {
public double calcularPrecoFinal();
}
import java.util.Scanner;
public class Livro implements Calculavel {
private String nome;
private int quantidadePaginas;
private double precoInicial;
private double precoFinal;
private double valorDesconto;
Scanner sc = new Scanner(System.in);
@Override
public double calcularPrecoFinal() {
this.setPrecoFinal(this.getPrecoInicial() - (this.getPrecoInicial() * 0.1));
System.out.println("\n===== SAÍDA DADOS =====");
System.out.println("Nome do livro: " + this.getNome());
System.out.println("Quantidade de páginas: " + this.getQuantidadePaginas());
System.out.println("Preço Inicial do Livro: R$ " + this.getPrecoInicial());
this.setValorDesconto(this.getPrecoInicial() - this.getPrecoFinal());
System.out.println("Valor do Desconto: R$ " + this.getValorDesconto());
System.out.println("Valor final do Produto: R$ " + this.getPrecoFinal());
return 0;
}
public void entrarDadosLivro() {
System.out.println("\n===== LIVRO =====");
System.out.println("Insira o nome do livro: ");
this.setNome(sc.next());
System.out.println("Insira a quantidade de páginas: ");
this.setQuantidadePaginas(sc.nextInt());
System.out.println("Insira o valor do livro: ");
this.setPrecoInicial(sc.nextDouble());
this.calcularPrecoFinal();
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getQuantidadePaginas() {
return quantidadePaginas;
}
public void setQuantidadePaginas(int quantidadePaginas) {
this.quantidadePaginas = quantidadePaginas;
}
public double getPrecoInicial() {
return precoInicial;
}
public void setPrecoInicial(double precoInicial) {
this.precoInicial = precoInicial;
}
public double getPrecoFinal() {
return precoFinal;
}
public void setPrecoFinal(double precoFinal) {
this.precoFinal = precoFinal;
}
public double getValorDesconto() {
return valorDesconto;
}
public void setValorDesconto(double valorDesconto) {
this.valorDesconto = valorDesconto;
}
}
import java.util.Scanner;
public class ProdutoFisico implements Calculavel{
private String marcaVideoGame;
private String modeloVideoGame;
private double precoInicial;
private double precoFinal;
private double valorDesconto;
Scanner sc = new Scanner(System.in);
@Override
public double calcularPrecoFinal() {
this.setPrecoFinal(this.getPrecoInicial() - (this.getPrecoInicial() * 0.15));
System.out.println("\n===== SAÍDA DADOS =====");
System.out.println("Marca: " + this.getMarcaVideoGame());
System.out.println("Modelo: " + this.getModeloVideoGame());
System.out.println("Preço Inicial do Video Game: R$ " + this.getPrecoInicial());
this.setValorDesconto(this.getPrecoInicial() - this.getPrecoFinal());
System.out.println("Valor do Desconto: R$ " + this.getValorDesconto());
System.out.println("Valor final do Produto: R$ " + this.getPrecoFinal());
return 0;
}
public void entrarDadosVideoGame() {
System.out.println("\n===== PRODUTO FISICO =====");
System.out.println("\nInsira a marca do Video Game: ");
this.setMarcaVideoGame(sc.next());
System.out.println("Insira o modelo do Video Game: ");
this.setModeloVideoGame(sc.next());
System.out.println("Insira o preço do Video Game: ");
this.setPrecoInicial(sc.nextDouble());
this.calcularPrecoFinal();
}
public String getMarcaVideoGame() {
return marcaVideoGame;
}
public void setMarcaVideoGame(String marcaVideoGame) {
this.marcaVideoGame = marcaVideoGame;
}
public String getModeloVideoGame() {
return modeloVideoGame;
}
public void setModeloVideoGame(String modeloVideoGame) {
this.modeloVideoGame = modeloVideoGame;
}
public double getPrecoInicial() {
return precoInicial;
}
public void setPrecoInicial(double precoInicial) {
this.precoInicial = precoInicial;
}
public double getPrecoFinal() {
return precoFinal;
}
public void setPrecoFinal(double precoFinal) {
this.precoFinal = precoFinal;
}
public double getValorDesconto() {
return valorDesconto;
}
public void setValorDesconto(double valorDesconto) {
this.valorDesconto = valorDesconto;
}
}
public class Principal {
public static void main(String[] args) {
Livro livro = new Livro();
livro.entrarDadosLivro();
ProdutoFisico produto = new ProdutoFisico();
produto.entrarDadosVideoGame();
}
}