package ex2;

public abstract class ItemBiblioteca {
    protected String titulo;
    protected int diasEmprestimo;

    public ItemBiblioteca(String titulo, int diasEmprestimo) {
        this.titulo = titulo;
        this.diasEmprestimo = diasEmprestimo;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public int getDiasEmprestimo() {
        return diasEmprestimo;
    }

    public void setDiasEmprestimo(int diasEmprestimo) {
        this.diasEmprestimo = diasEmprestimo;
    }

    public abstract double  calcularMulta(double diasAtraso); //a subclasse será obrigada a usar esse métod0 abstrato


}







package ex2;

public class Livro extends ItemBiblioteca{
    private String autor;

    public Livro(String titulo, int diasEmprestimo, String autor) {
        super(titulo, diasEmprestimo);
        this.autor = autor;
    }

    public String getAutor() {
        return autor;
    }

    public void setAutor(String autor) {
        this.autor = autor;
    }

    @Override
    public double calcularMulta(double diasAtraso) {
        return 1.5 * diasAtraso;
    }
}






package ex2;

public class Revista extends ItemBiblioteca{
    private String edicao;
    public Revista(String titulo, int diasEmprestimo, String edicao) {
        super(titulo, diasEmprestimo);
        this.edicao = edicao;
    }

    public String getEdicao() {
        return edicao;
    }

    public void setEdicao(String edicao) {
        this.edicao = edicao;
    }

    @Override
    public double calcularMulta(double diasAtraso) {
        return 1.0 * diasAtraso;
    }
}







package ex2;
import java.util.Scanner;
public class Main {
    public static void main(String[] args){
    Scanner s = new Scanner(System.in);
    ItemBiblioteca item = null;

    System.out.print("Título: ");
    String titulo = s.nextLine();
    System.out.print("Dias de Empréstimo: ");
    int diasEmprestimo = s.nextInt();

    System.out.print("Escolha uma Opção: ");
    System.out.println("1. Livro");
        System.out.println("2. Revista");
        int opcao = s.nextInt();
        s.nextLine();

        if(opcao == 1){

            System.out.println("Autor: ");
            String autor = s.nextLine();
            item = new Livro(titulo, diasEmprestimo, autor);
        }
        else if(opcao == 2){
            System.out.println("Edição: ");
            String edicao = s.nextLine();
            item = new Revista(titulo, diasEmprestimo, edicao);
        }
        System.out.print("\nInforme os dias de atraso: ");
        int diasAtraso = s.nextInt();
        double multa = item.calcularMulta(diasAtraso);

        System.out.println("Multa: "+multa);
        s.close();
    }
}


Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: