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();
}
}
To embed this program on your website, copy the following code and paste it into your website's HTML: