0% acharam este documento útil (0 voto)
62 visualizações13 páginas

Sistema Gerenciamento Biblioteca - Java

Enviado por

Vitor José
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
62 visualizações13 páginas

Sistema Gerenciamento Biblioteca - Java

Enviado por

Vitor José
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 13

Livro.

java

public class Livro {

private String titulo;

private String autor;

private String isbn;

private int quantidadeDisponivel;

public Livro(String titulo, String autor, String isbn, int quantidadeDisponivel) {

this.titulo = titulo;

this.autor = autor;

this.isbn = isbn;

this.quantidadeDisponivel = quantidadeDisponivel;

public String getTitulo() {

return titulo;

public String getAutor() {

return autor;

public String getIsbn() {

return isbn;

public int getQuantidadeDisponivel() {


return quantidadeDisponivel;

public boolean verificarDisponibilidade() {

return quantidadeDisponivel > 0;

public void atualizarQuantidade(int quantidade) {

this.quantidadeDisponivel += quantidade;

}
Membro.java

import java.util.ArrayList;

import java.util.List;

public abstract class Membro {

private String nome;

private int id;

private int limiteEmprestados;

private List<Livro> livrosEmprestados;

public Membro(String nome, int id, int limiteEmprestados) {

this.nome = nome;

this.id = id;

this.limiteEmprestados = limiteEmprestados;

this.livrosEmprestados = new ArrayList<>();

public String getNome() {

return nome;

public int getId() {

return id;

public List<Livro> getLivrosEmprestados() {

return livrosEmprestados;
}

public boolean adicionarLivro(Livro livro) {

livrosEmprestados.add(livro);

return true;

public void removerLivro(Livro livro) {

livrosEmprestados.remove(livro);

}
Aluno.java

public class Aluno extends Membro {

public Aluno(String nome, int id) {

super(nome, id, 3);

@Override

public boolean adicionarLivro(Livro livro) {

if (getLivrosEmprestados().size() < 3) {

return super.adicionarLivro(livro);

return false;

}
Professor.java

public class Professor extends Membro {

public Professor(String nome, int id) {

super(nome, id, 5);

@Override

public boolean adicionarLivro(Livro livro) {

if (getLivrosEmprestados().size() < 5) {

return super.adicionarLivro(livro);

return false;

}
Emprestado.java

import java.time.LocalDate;

public class Emprestado {

private Livro livro;

private Membro membro;

private LocalDate dataEmprestado;

private LocalDate dataDevolucao;

public Emprestado(Livro livro, Membro membro) {

this.livro = livro;

this.membro = membro;

this.dataEmprestado = LocalDate.now();

this.dataDevolucao = null;

public Livro getLivro() {

return livro;

public Membro getMembro() {

return membro;

public LocalDate getDataEmprestado() {

return dataEmprestado;

}
public LocalDate getDataDevolucao() {

return dataDevolucao;

public void registrarDevolucao() {

this.dataDevolucao = LocalDate.now();

}
Biblioteca.java

import java.util.ArrayList;

import java.util.List;

public class Biblioteca {

private List<Livro> listaLivros;

private List<Membro> listaMembros;

private List<Emprestado> listaEmprestados;

public Biblioteca() {

this.listaLivros = new ArrayList<>();

this.listaMembros = new ArrayList<>();

this.listaEmprestados = new ArrayList<>();

public void adicionarLivro(Livro livro) {

listaLivros.add(livro);

public void adicionarMembro(Membro membro) {

listaMembros.add(membro);

public boolean emprestarLivro(Membro membro, Livro livro) {

if (membro.getLivrosEmprestados().size() >= membro.limiteEmprestados) {

return false;

}
if (livro.verificarDisponibilidade()) {

membro.adicionarLivro(livro);

livro.atualizarQuantidade(-1);

Emprestado emprestado = new Emprestado(livro, membro);

listaEmprestados.add(emprestado);

return true;

return false;

public boolean devolverLivro(Membro membro, Livro livro) {

for (Emprestado emprestado : listaEmprestados) {

if (emprestado.getDataDevolucao() == null && emprestado.getMembro() == membro &&

emprestado.getLivro() == livro) {

emprestado.registrarDevolucao();

membro.removerLivro(livro);

livro.atualizarQuantidade(1);

return true;

return false;

public void listarEmprestados() {

for (Emprestado emprestado : listaEmprestados) {


if (emprestado.getDataDevolucao() == null) {

System.out.println("Livro: " + emprestado.getLivro().getTitulo() + ", Membro: " +

emprestado.getMembro().getNome());

}
Main.java

public class Main {

public static void main(String[] args) {

Biblioteca biblioteca = new Biblioteca();

Livro livro1 = new Livro("Java Basics", "Autor A", "123456789", 3);

Livro livro2 = new Livro("Advanced Java", "Autor B", "987654321", 2);

biblioteca.adicionarLivro(livro1);

biblioteca.adicionarLivro(livro2);

Membro aluno = new Aluno("Alice", 1);

Membro professor = new Professor("Bob", 2);

biblioteca.adicionarMembro(aluno);

biblioteca.adicionarMembro(professor);

biblioteca.emprestarLivro(aluno, livro1);

biblioteca.emprestarLivro(aluno, livro2);

biblioteca.emprestarLivro(professor, livro1);

biblioteca.emprestarLivro(aluno, livro1);

biblioteca.listarEmprestados();

Você também pode gostar

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy