2013/03/14

Java - Exercício da Biblioteca

new Comment();
Autor

public class Autor {
 //----------------------------------------------------------------------------ATRIBUTOS
 private int codigo;
 private String nome;
 private String email;
 //----------------------------------------------------------------------------CONSTRUCTOR
 public Autor(int codigo, String nome, String email) {
  this.codigo = codigo;
  this.nome = nome;
  this.email = email;
 }
 //----------------------------------------------------------------------------GETTERS & SETTERS
 public int getCodigo() {
  return codigo;
 }
 public void setCodigo(int codigo) {
  this.codigo = codigo;
 }
 public String getNome() {
  return nome;
 }
 public void setNome(String nome) {
  this.nome = nome;
 }
 public String getEmail() {
  return email;
 }
 public void setEmail(String email) {
  this.email = email;
 }
}


Editora
public class Editora {
 //----------------------------------------------------------------------------ATRIBUTOS
 private int codigo;
 private String fantasia;
 private String r_social;
 private int cnpj;
 //----------------------------------------------------------------------------CONSTRUCTOR
 public Editora(int codigo, String fantasia, String r_social, int cnpj) {
  this.codigo = codigo;
  this.fantasia = fantasia;
  this.r_social = r_social;
  this.cnpj = cnpj;
 }
 //----------------------------------------------------------------------------GETTER & SETTERS
 public int getCodigo() {
  return codigo;
 }
 public void setCodigo(int codigo) {
  this.codigo = codigo;
 }
 public String getFantasia() {
  return fantasia;
 }
 public void setFantasia(String fantasia) {
  this.fantasia = fantasia;
 }
 public String getR_social() {
  return r_social;
 }
 public void setR_social(String r_social) {
  this.r_social = r_social;
 }
 public int getCnpj() {
  return cnpj;
 }
 public void setCnpj(int cnpj) {
  this.cnpj = cnpj;
 }
 
}


Livro
public class Livro {
 //----------------------------------------------------------------------------ATRIBUTOS
 private int codigo;
 private String titulo;
 private int ano;
 private int paginas;
    private int autor;
    private int editora;
    //----------------------------------------------------------------------------CONSTRUCTOR
 public Livro(int codigo, String titulo, int ano, int paginas, int autor,
   int editora) {
  this.codigo = codigo;
  this.titulo = titulo;
  this.ano = ano;
  this.paginas = paginas;
  this.autor = autor;
  this.editora = editora;
 }
 //----------------------------------------------------------------------------SETTER & GETTERS
 public int getCodigo() {
  return codigo;
 }

 public void setCodigo(int codigo) {
  this.codigo = codigo;
 }

 public String getTitulo() {
  return titulo;
 }

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

 public int getAno() {
  return ano;
 }

 public void setAno(int ano) {
  this.ano = ano;
 }

 public int getPaginas() {
  return paginas;
 }

 public void setPaginas(int paginas) {
  this.paginas = paginas;
 }

 public int getAutor() {
  return autor;
 }

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

 public int getEditora() {
  return editora;
 }

 public void setEditora(int editora) {
  this.editora = editora;
 }
 
}


Biblioteca
import java.util.ArrayList;

import javax.swing.JOptionPane;

public class Biblioteca {
 String resultado = "";
 String achado = "";
 
 //----------------------------------------------------------------------------ARRAY LIST
 private ArrayList autores = new ArrayList();
 private ArrayList editora = new ArrayList();
 private ArrayList livro = new ArrayList();
 //----------------------------------------------------------------------------MENU
  public int menu(int menu){
   int option = Integer.parseInt(JOptionPane.showInputDialog( "-======MENU======-\n\n" +
                  "1. Cadastrar\n" +
                  "2. Editar\n" +
                  "3. Pesquisar\n" +
                  "4. Listar\n" +
                  "5. Excluir\n" +
                  "6. Excluir tudo\n" +
                  "7. Sair"));
   return option;
  }
  public int menuCadastrar(int menu){
  int option = Integer.parseInt(JOptionPane.showInputDialog( "-======MENU======-\n\n" +
    "1) Cadastrar autor\n" +
    "2) Cadastrar editora\n" +
    "3) Cadastra livro\n" +
    "4) Voltar\n" +
    "5) Sair"));
  return option;
  }
  //----------------------------------------------------------------------------AUTORES
 public void cadastrarAutor(Autor autor){
  this.autores.add(autor);
 }
  
 public String listarAutores(){
  resultado = "";
  for (int i = 0; i < autores.size(); i++) {
   resultado +="Codigo: "+autores.get(i).getCodigo()+
      "\nNome: "+autores.get(i).getNome()+
      "\nEmail: "+autores.get(i).getEmail()+"\n\n\n";
   }
  return resultado;
 }
 
 public Autor pesquicarAutor(int codigo){
  for (int i = 0; i < autores.size(); i++) {
   if (autores.get(i).getCodigo() == codigo) {
    return autores.get(i);
   }
  }
   return null;
 }
 
 public void removerAutorAnterior(Autor codigo){
    autores.remove(codigo);
 }

 public void removerTodosAutor(){
    autores.clear();
 }
 //----------------------------------------------------------------------------EDITORA
 public void cadastrarEditora(Editora editora){
  this.editora.add(editora);
 }
 
 public String listarEditora(){
  for (int i = 0; i < editora.size(); i++) {
   Editora temp = editora.get(i);
   resultado += "\n Codigo: "+temp.getCodigo()+
      "\n Fantasia: "+temp.getFantasia() +
      "\n Razão social: "+temp.getR_social()+
      "\n CNPJ: " +temp.getCnpj()+"\n\n\n";
  }
  return resultado;
 }
 
 public Editora pesquicarEditora(int codigo){
  for (int i = 0; i < editora.size(); i++) {
   if (editora.get(i).getCodigo() == codigo) {
    return editora.get(i);
   }
  }
  return null;
 }
  
 public void removerEditoraAnterior(Editora codigo){
  editora.remove(codigo);
 }

 public void removerTodosEditoras(){
  editora.clear();
 }
 //----------------------------------------------------------------------------LIVRO
 public void cadastrarLivro(Livro livro){
  this.livro.add(livro);
 }
 
 public String listarLivro(){
  for (int i = 0; i < livro.size(); i++) {
   Livro temp = livro.get(i);
   resultado +=  "\n Codigo: "+temp.getCodigo()+
       "\n Titulo: "+temp.getTitulo() +
       "\n Ano: "+temp.getAno()+
       "\n Pagina: " +temp.getPaginas()+
       "\n Editor: "+temp.getEditora()+
       "\n Autor: "+temp.getAutor()+"\n\n\n";
  }
  return resultado;
 }
 
 public boolean autorExiste(int codAutor){
  for (int i = 0; i < autores.size(); i++) {
   if (codAutor == autores.get(i).getCodigo()) {
    return true;
   }
  }
   
  return false;
 }
  
 public boolean editoraExiste(int codEditora){
  for (int i = 0; i < autores.size(); i++) {
   if (codEditora == autores.get(i).getCodigo()) {
    return true;
   }
  }
   
  return false;
 }
 
 public Livro pesquicarLivro(int codigo){
  for (int i = 0; i < livro.size(); i++) {
   if (livro.get(i).getCodigo() == codigo) {
    return livro.get(i);
   }
  }
  return null;
 }
  
 public void removerLivroAnterior(Livro codigo){
  livro.remove(codigo);
 }

 public void removerTodosLivros(){
  livro.clear();
 }
}

Principal
import javax.swing.JOptionPane;
public class Principal  {
 public static void main(String args[]){ 
  //----------------------------------------------------------------------------ESCOLHA DO SWITCH
  int option = 0;
  //----------------------------------------------------------------------------NOVA BIBLIOTECA
  Biblioteca biblioteca = new Biblioteca();
  //----------------------------------------------------------------------------MENU
  while (true) {
   try {
    option = biblioteca.menu(option); 
   } catch (Exception e) {
    // TODO: handle exception
    JOptionPane.showMessageDialog(null, "Só pode digitar numeros ;)");
   }
  //----------------------------------------------------------------------------SWITCH
   switch (option) {
  //----------------------------------------------------------------------------CADASTRAR
    case 1:
     try{
     option = biblioteca.menuCadastrar(option);
       
     if (option < 1 || option > 5) {
      JOptionPane.showMessageDialog(null, "Só pode digitar numeros do 1 ao 5, obrigado");
      option = 4;
     }
     
     }
     catch (Exception e) {
      JOptionPane.showMessageDialog(null, "Só pode digitar numeros, obrigado");
      option = 4;
     }
     switch (option) {
  //----------------------------------------------------------------------------CADASTRAR AUTOR
      case 1:
       try{
       Autor autor = new Autor(Integer.parseInt(JOptionPane.showInputDialog( "ID do autor: "))
             ,JOptionPane.showInputDialog(     "Nome do autor: ")
             ,JOptionPane.showInputDialog(     "Email do autor "));
       biblioteca.cadastrarAutor(autor);
       }
       catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Digitou algum dado errado");
       }
       
       
       break;
  //----------------------------------------------------------------------------CADASTRAR EDITORA
      case 2:
       try{
       Editora editora = new Editora(Integer.parseInt(JOptionPane.showInputDialog( "ID da editora: "))
              ,JOptionPane.showInputDialog(     "Nome da editora: ")
              ,JOptionPane.showInputDialog(     "Email da editora: ")
              ,Integer.parseInt(JOptionPane.showInputDialog( "CNPJ da editora: ")));
       biblioteca.cadastrarEditora(editora);
       }
       catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Digitou algum dado errado");
       }
       break;
  //----------------------------------------------------------------------------CADASTRAR LIVRO
      case 3:
       try{
       int codAutor = (Integer.parseInt(JOptionPane.showInputDialog("Por favor, digite o ID do autor do livro que quer cadastrar: ")));
       if(biblioteca.autorExiste(codAutor)){
        int tempEditora = (Integer.parseInt(JOptionPane.showInputDialog(null, "Por favor, digite o ID da editora do livro que quer cadastrar: ")));
        if (biblioteca.editoraExiste(tempEditora)) {
         JOptionPane.showMessageDialog(null, ":( --- Editora não encontrado --- :(");
        }else{
         Livro livro = new Livro(Integer.parseInt(JOptionPane.showInputDialog( "ID do livro: ")),
            JOptionPane.showInputDialog(        "Titulo do livro: "), 
            Integer.parseInt(JOptionPane.showInputDialog(    "Ano do livro: ")), 
            Integer.parseInt(JOptionPane.showInputDialog(    "Paginas do livro: ")),
            codAutor, tempEditora);
         biblioteca.cadastrarLivro(livro);
        }
       }else{
        JOptionPane.showMessageDialog(null, ":( --- Autor não encontrado --- :(");
       }
       }
       catch (Exception e) {
        JOptionPane.showMessageDialog(null, "Digitou algum dado errado");
       }
       break;
  //----------------------------------------------------------------------------VOLTAR AO MENU
      case 4:
       break;
  //----------------------------------------------------------------------------SAIR
      case 5:
       System.exit(0);
       break;
      default:
       break;
      }
     break;
  //----------------------------------------------------------------------------FIM DA OPÇÃO CADASTRAR
    case 2:
  //----------------------------------------------------------------------------EDITAR
     option = Integer.parseInt(JOptionPane.showInputDialog( "-======MENU======-\n\n"+
                   "1) Editar autor\n" +
                   "2) Editar editora\n" +
                   "3) Editar livro\n" +
                   "4) Voltar\n" +
                   "5) Sair"));
     switch (option) {
  //----------------------------------------------------------------------------EDITAR AUTOR
     case 1:
      Autor temp = biblioteca.pesquicarAutor(Integer.parseInt(JOptionPane.showInputDialog(null, "ID do autor a editar: ")));
      if (temp == null) {
       JOptionPane.showMessageDialog(null, ":( --- Autor não encontrado --- :(");
      }else{
       
       JOptionPane.showMessageDialog(null, "Autor achado: "+temp.getNome());
       Autor temp2 = new Autor(Integer.parseInt(JOptionPane.showInputDialog( "Novo ID para o autor "+temp.getNome()))
             ,JOptionPane.showInputDialog(     "Novo nome: ")
             ,JOptionPane.showInputDialog(     "Novo e-mail: "));
       biblioteca.removerAutorAnterior(temp);
       biblioteca.cadastrarAutor(temp2);
      }
      break;
  //----------------------------------------------------------------------------EDITAR EDITORA
     case 2:
      Editora tempEditora = biblioteca.pesquicarEditora(Integer.parseInt(JOptionPane.showInputDialog(null, "ID da editora a editar: ")));
      if (tempEditora == null) {
       JOptionPane.showMessageDialog(null, ":( --- Editora não encontrada --- :(");
      }else{
       JOptionPane.showMessageDialog(null, "Editora achada: "+tempEditora.getFantasia());
       Editora temp2 = new Editora(Integer.parseInt(JOptionPane.showInputDialog( "Novo ID para a editora "+tempEditora.getFantasia()))
             ,JOptionPane.showInputDialog(      "Novo nome: ")
             ,JOptionPane.showInputDialog(      "Novo e-mail: ")
             ,Integer.parseInt(JOptionPane.showInputDialog(  "Novo CPF: ")));
       biblioteca.removerEditoraAnterior(tempEditora);
       biblioteca.cadastrarEditora(temp2);
      }
      break;
     case 3:
  //----------------------------------------------------------------------------EDITAR LIVRO
      Livro tempLivro = biblioteca.pesquicarLivro(Integer.parseInt(JOptionPane.showInputDialog(null, "ID do livro a editar: ")));
      if (tempLivro == null) {
       JOptionPane.showMessageDialog(null, ":( --- Livro não encontrado --- :(");
      }else{
       JOptionPane.showMessageDialog(null, "Livro achado: "+tempLivro.getTitulo());
       Livro temp2 = new Livro(Integer.parseInt(JOptionPane.showInputDialog( "Novo ID para o livro "+tempLivro.getTitulo()))
             ,JOptionPane.showInputDialog(     "Novo titulo: ")
             ,Integer.parseInt(JOptionPane.showInputDialog( "Novo ano: "))
             ,Integer.parseInt(JOptionPane.showInputDialog( "Novo numero de paginas: "))
             ,Integer.parseInt(JOptionPane.showInputDialog( "Novo ID do autor: "))
             ,Integer.parseInt(JOptionPane.showInputDialog( "Novo ID da editora: ")));
       biblioteca.removerLivroAnterior(tempLivro);
       biblioteca.cadastrarLivro(temp2);
      }
      break;
  //--------------------------------------------------------VOLTAR AO MENU
     case 4:
      break;
  //--------------------------------------------------------SAIR
     case 5:
      System.exit(0);
      break;
     default:
      break;
     }
    break;
  //--------------------------------------------------------PESQUISAR
    case 3:
     option = Integer.parseInt(JOptionPane.showInputDialog( "-======MENU======-\n\n" +
                   "1) Pesquiçar autor\n" +
                   "2) Pesquiçar editora\n" +
                   "3) Pesquiçar livro\n" +
                   "4) Voltar\n" +
                   "5) Sair"));
     switch (option) {
  //--------------------------------------------------------PESQUISAR AUTOR
     case 1:
      Autor temp = biblioteca.pesquicarAutor(Integer.parseInt(JOptionPane.showInputDialog(null, "ID autor do livro: ")));
      if (temp == null) {
       JOptionPane.showMessageDialog(null, ":( --- Autor não encontrado --- :(");
      }else{
       JOptionPane.showMessageDialog(null, "Autor encontrado: "+temp.getNome());
      }
      break;
  //--------------------------------------------------------PESQUISAR EDITORA
     case 2:
      Editora tempEditora = biblioteca.pesquicarEditora(Integer.parseInt(JOptionPane.showInputDialog(null, "ID da editora: ")));
      if (tempEditora == null) {
       JOptionPane.showMessageDialog(null, ":( --- Editora não encontrada --- :(");
      }else{
       JOptionPane.showMessageDialog(null, "Editora encontrada: "+tempEditora.getFantasia());
      }
      break;
  //--------------------------------------------------------PESQUISAR LIVRO
     case 3:
      Livro tempLivro = biblioteca.pesquicarLivro(Integer.parseInt(JOptionPane.showInputDialog(null, "ID do livro: ")));
      if (tempLivro == null) {
       JOptionPane.showMessageDialog(null, ":( --- Livro não encontrado --- :(");
      }else{
       JOptionPane.showMessageDialog(null, "Livro encontrado: "+tempLivro.getTitulo());
      }
      break;
  //--------------------------------------------------------VOLTAR AO MENU
     case 4:
      break;
  //--------------------------------------------------------SAIR
     case 5:
      System.exit(0);
      break;
     default:
      break;
     }
    break;
  //--------------------------------------------------------LISTAR
    case 4:
     option = Integer.parseInt(JOptionPane.showInputDialog( "-======MENU======-\n\n" +
                   "1) Listar autores\n" +
                   "2) Listar editoras\n" +
                   "3) Listar livros\n" +
                   "4) Voltar\n" +
                   "5) Sair"));
     switch (option) {
     case 1:
      JOptionPane.showMessageDialog(null, biblioteca.listarAutores());
      biblioteca.resultado = "";
      break;
     case 2:
      JOptionPane.showMessageDialog(null, biblioteca.listarEditora());
      biblioteca.resultado = "";
      break;
     case 3:
      JOptionPane.showMessageDialog(null, biblioteca.listarLivro());
      biblioteca.resultado = "";
      break;
  //--------------------------------------------------------VOLTAR AO MENU
     case 4:
      break;
  //--------------------------------------------------------SAIR
     case 5:
      System.exit(0);
      break;
     default:
      break;
     }
    break;
  //--------------------------------------------------------EXCLUIR
    case 5:
     option = Integer.parseInt(JOptionPane.showInputDialog( "-======MENU======-\n\n" +
                   "1) Excluir autor\n" +
                   "2) Excluir editor\n" +
                   "3) Excluir livro\n" +
                   "4) Voltar\n" +
                   "5) Sair"));
     switch (option) {
  //--------------------------------------------------------EXCLUIR AUTOR
     case 1:
      Autor temp = biblioteca.pesquicarAutor(Integer.parseInt(JOptionPane.showInputDialog("ID do autor: ")));
      if (temp == null){
       JOptionPane.showMessageDialog(null, ":( --- Autor não encontrado --- :(");
      }else{
       String tempNomeAutor = temp.getNome();
       biblioteca.removerAutorAnterior(temp);
       JOptionPane.showMessageDialog(null, "Autor com nome "+tempNomeAutor+" foi deletado com éxito ;)");
      }
      break;
  //--------------------------------------------------------EXCLUIR EDITORA
     case 2:
      Editora tempEditora = biblioteca.pesquicarEditora(Integer.parseInt(JOptionPane.showInputDialog("ID da editora: ")));
      if (tempEditora == null){
       JOptionPane.showMessageDialog(null, ":( --- Editora não encontrado --- :(");
      }else{
       String tempFantasiaEditora = tempEditora.getFantasia();
       biblioteca.removerEditoraAnterior(tempEditora);
       JOptionPane.showMessageDialog(null, "Editora com fantasia "+tempFantasiaEditora+" foi deletado com éxito ;)");
      }
      break;
  //--------------------------------------------------------EXCLUIR LIVRO
     case 3:
      Livro tempLivro = biblioteca.pesquicarLivro(Integer.parseInt(JOptionPane.showInputDialog("ID do livro: ")));
      if (tempLivro == null){
       JOptionPane.showMessageDialog(null, ":( --- Livro não encontrado --- :(");
      }else{
       String tempTituloLivro = tempLivro.getTitulo();
       biblioteca.removerLivroAnterior(tempLivro);
       JOptionPane.showMessageDialog(null, "Livro com titulo "+tempTituloLivro+" foi deletado com éxito ;)");
      }
      break;
  //--------------------------------------------------------VOLTAR AO MENU
     case 4:
      break;
  //--------------------------------------------------------SAIR
     case 5:
      System.exit(0);
      break;
     default:
      break;
     }
     break;
  //--------------------------------------------------------EXCLUIR TODO
    case 6:
     option = Integer.parseInt(JOptionPane.showInputDialog( "-======MENU======-\n\n" +
                   "1) Excluir todos os autores\n" +
                   "2) Excluir todos os editores\n" +
                   "3) Excluir todos os livros\n" +
                   "4) Voltar\n" +
                   "5) Sair"));
     switch (option) {
  //--------------------------------------------------------EXCLUIR TODOS AUTORES

     case 1:
      biblioteca.removerTodosAutor();
      JOptionPane.showMessageDialog(null, "Todos os autores forem excluidos");
      break;
  //--------------------------------------------------------EXCLUIR TODAS EDITORAS
     case 2:
      biblioteca.removerTodosEditoras();
      JOptionPane.showMessageDialog(null, "Todas as editoras forem excluidas");
      break;
  //--------------------------------------------------------EXCLUIR TODOS LIVROS
     case 3:
      biblioteca.removerTodosLivros();
      JOptionPane.showMessageDialog(null, "Todos os livros forem excluidos");
      break;
  //--------------------------------------------------------VOLTAR AO MENU
     case 4:
      break;
  //--------------------------------------------------------SAIR
     case 5:
      System.exit(0);
      break;
     default:
      break;
     }
     break;
    case 7:
     JOptionPane.showMessageDialog(null, "Até mais ;)");
     System.exit(0);
     break;
    default:
     break;
    }
   }
 }
}
If You Enjoyed This, Take 5 Seconds To Share It

0 comentarios:

Postar um comentário