diff --git a/java/build.xml b/java/build.xml new file mode 100644 index 0000000..3cf1b14 --- /dev/null +++ b/java/build.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + Builds, tests, and runs the project JavaProject1. + + + diff --git a/java/build/classes/.netbeans_automatic_build b/java/build/classes/.netbeans_automatic_build new file mode 100644 index 0000000..e69de29 diff --git a/java/build/classes/Livro.rs b/java/build/classes/Livro.rs new file mode 100644 index 0000000..9a757a2 --- /dev/null +++ b/java/build/classes/Livro.rs @@ -0,0 +1 @@ +av3.Livro diff --git a/java/build/classes/SistemaLivro.rs b/java/build/classes/SistemaLivro.rs new file mode 100644 index 0000000..af6cc91 --- /dev/null +++ b/java/build/classes/SistemaLivro.rs @@ -0,0 +1 @@ +av3.SistemaLivro diff --git a/java/manifest.mf b/java/manifest.mf new file mode 100644 index 0000000..328e8e5 --- /dev/null +++ b/java/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/java/trabalho-av3/src/Livro.java b/java/trabalho-av3/src/Livro.java index 4cdc560..a6e56f1 100644 --- a/java/trabalho-av3/src/Livro.java +++ b/java/trabalho-av3/src/Livro.java @@ -2,27 +2,27 @@ /** * Write a description of class Livro here. * - * @author (Fernando Silva) - * @version (0.0.1) + * @author (Alexandre Andrade) + * @version (0.1) */ package av3; public class Livro { public int codigo; - public String title; + public String titulo; public String genero; public String autor; /** * Constructor for objects of class Livro */ - public Livro(int c, String t, String g, String a) + public Livro(int cod, String tit, String gen, String at) { - codigo = c; - title = t; - genero = g; - autor = a; + codigo = cod; + titulo = tit; + genero = gen; + autor = at; } diff --git a/java/trabalho-av3/src/SistemaLivro.java b/java/trabalho-av3/src/SistemaLivro.java index 6175e6b..741ffbf 100644 --- a/java/trabalho-av3/src/SistemaLivro.java +++ b/java/trabalho-av3/src/SistemaLivro.java @@ -2,23 +2,24 @@ import javax.swing.*; /** - * Write a description of class SistemaLivro here. + * Classe de execução do sistema de Livro * - * @author (Fernando Silva) - * @version (0.0.1) + * @author (Alexandre Andrade) + * @version (0.1) */ public class SistemaLivro { + public static void main (String[] args){ String input, message; int resposta, i, codigo, resultado; - Livro[] vetor = new Livro[5]; + Livro[] vetorLivro = new Livro[5]; for (i =0; i< 5; i++) { - vetor[i] = new Livro(0, null, null, null); + vetorLivro[i] = new Livro(0, null, null, null); } do{ @@ -28,89 +29,24 @@ public static void main (String[] args){ switch (resposta) { case 1: - if (isVetorCheio(vetor)) - { - JOptionPane.showMessageDialog(null, "Banco de dados cheio :("); - break; - } - i=0; - codigo=0; - while(vetor[i].codigo != 0 ) - { - if( i < 4) - { - i++; - }else{ - break; - } - } - - do{ - codigo = (int)(Math.random()*1000); - - }while(!isCodigoUnico(codigo, vetor)); - - System.out.println(codigo); - vetor[i].codigo = codigo; - vetor[i].title = JOptionPane.showInputDialog("título"); - vetor[i].autor = JOptionPane.showInputDialog("autor"); - vetor[i].genero = JOptionPane.showInputDialog("gênero"); - break; + SistemaLivro.insert(vetorLivro); + break; + case 2: + SistemaLivro.locate(vetorLivro); + break; case 3: - codigo=0; - codigo = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código do livro a ser alterado")); - resultado = pesquisa(codigo, vetor); - if (resultado >= 0) - { - input = null; - input = JOptionPane.showInputDialog("Alterar título de: " + vetor[resultado].title + " para:"); - System.out.println(input); - if (input != null){ - vetor[resultado].title = input; - } - input = null; - input = JOptionPane.showInputDialog("Alterar autor de: " + vetor[resultado].autor + " para:"); - if (input != null){ - vetor[resultado].autor = input; - } - input = null; - input = JOptionPane.showInputDialog("Alterar gênero de: " + vetor[resultado].genero + " para:"); - if (input != null){ - vetor[resultado].genero = input; - } - }else{ - JOptionPane.showMessageDialog(null, "Não encontrado!"); - } - - - break; + SistemaLivro.update(vetorLivro); + break; case 4: - codigo=0; - codigo = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código do livro a ser removido")); - resultado = pesquisa(codigo, vetor); - if (resultado >= 0){ - codigo = Integer.parseInt(JOptionPane.showInputDialog("Vou remover o livro " + vetor[resultado].title + " de código: " + vetor[resultado].codigo + "\n Você esta certo disso ? ( [1] - sim // [2] - não)")); - if (codigo == 1){ - vetor[resultado].codigo = 0; - vetor[resultado].title = null; - vetor[resultado].autor = null; - vetor[resultado].genero = null; - JOptionPane.showMessageDialog(null, "feito"); - } else { - JOptionPane.showMessageDialog(null, "Ok, então ... nenhuma alteração feita"); - } - }else{ - JOptionPane.showMessageDialog(null, "Não encontrado!"); - } - - break; + SistemaLivro.delete(vetorLivro); + break; case 5: message=""; for (int k =0; k< 5; k++) { - message = message + "Código: "+ vetor[k].codigo + " Título: " + vetor[k].title + " Autor: " + vetor[k].autor + " Gênero: " + vetor[k].genero + "\n"; + message = message + "Código: "+ vetorLivro[k].codigo + " Título: " + vetorLivro[k].titulo + " Autor: " + vetorLivro[k].autor + " Gênero: " + vetorLivro[k].genero + "\n"; } JOptionPane.showMessageDialog(null, message); break; @@ -125,13 +61,12 @@ public static void main (String[] args){ } while(resposta != 6 ); } - public static int pesquisa(int codigo, Livro[] vetor) - { + public static int search(int codigo, Livro[] vetorLivro){ boolean encontrado=false; int i; for (i=0; i<5; i++) { - if (codigo == vetor[i].codigo) + if (codigo == vetorLivro[i].codigo) { encontrado = true; break; @@ -145,26 +80,263 @@ public static int pesquisa(int codigo, Livro[] vetor) } } + public static Livro[] searchByTitle(String titulo, Livro[] vetorLivro){ + Livro[] listaLivro; + int i,x; + x=0; + for (i=0; i<5; i++) + { + if (titulo.equals(vetorLivro[i].titulo)) + { + x++; + } + } + if(x>0){ + listaLivro = new Livro[x]; + x=0; + for (i=0; i<5; i++) + { + if (titulo.equals(vetorLivro[i].titulo)) + { + listaLivro[x] = vetorLivro[i]; + x++; + + } + } + } + else{ + listaLivro = new Livro[1]; + listaLivro[0] = new Livro(0,null,null,null); + } + return listaLivro; + + } + public static Livro[] searchByGender(String genero, Livro[] vetorLivro){ + int i,x; + Livro[] listaLivro; + x=0; + for (i=0; i<5; i++) + { + if (genero.equals(vetorLivro[i].genero)) + { + x++; + } + } + if(x>0){ + listaLivro = new Livro[x]; + x=0; + for (i=0; i<5; i++) + { + if (genero.equals(vetorLivro[i].genero)) + { + listaLivro[x] = vetorLivro[i]; + x++; + + } + } + } + else{ + listaLivro = new Livro[1]; + listaLivro[0] = new Livro(0,null,null,null); + } + return listaLivro; + } + public static Livro[] searchByAuthor(String autor, Livro[] vetorLivro){ + int i,x; + Livro[] listaLivro; + x=0; + for (i=0; i<5; i++) + { + if (autor.equals(vetorLivro[i].autor)) + { + x++; + } + } + if(x>0){ + listaLivro = new Livro[x]; + x=0; + for (i=0; i<5; i++) + { + if (autor.equals(vetorLivro[i].autor)) + { + listaLivro[x] = vetorLivro[i]; + x++; + + } + } + } + else{ + listaLivro = new Livro[1]; + listaLivro[0] = new Livro(0,null,null,null); + } + return listaLivro; - public static boolean isCodigoUnico(int codigo, Livro[] vetor) - { + } + public static boolean isCodeUnique(int codigo, Livro[] vetorLivro){ boolean unico=true; for (int i=0; i<5;i++) { - if(vetor[i].codigo == codigo) + if(vetorLivro[i].codigo == codigo) unico=false; } return unico; } - public static boolean isVetorCheio(Livro[] vetor) - { + public static boolean isVectorFull(Livro[] vetorLivro){ boolean cheio=true; for (int i=0; i<5;i++) { - if(vetor[i].codigo == 0) + if(vetorLivro[i].codigo == 0) cheio=false; } return cheio; } + public static void insert(Livro[] vetorLivro){ + int i, codigo; + i=0; + if (isVectorFull(vetorLivro)) + { + JOptionPane.showMessageDialog(null, "Banco de dados cheio :("); + return; + } + while(vetorLivro[i].codigo != 0 ) + { + if( i < 4) + { + i++; + }else{ + break; + } + } + do{ + codigo = (int)(Math.random()*1000); + }while(!isCodeUnique(codigo, vetorLivro)); + System.out.println(codigo); + vetorLivro[i].codigo = codigo; + vetorLivro[i].titulo = JOptionPane.showInputDialog("título"); + vetorLivro[i].autor = JOptionPane.showInputDialog("autor"); + vetorLivro[i].genero = JOptionPane.showInputDialog("gênero"); + JOptionPane.showMessageDialog(null, "Código do Livro "+codigo); + return; + } + public static void update(Livro[] vetorLivro){ + int codigo,resultado; + String input; + codigo=0; + codigo = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código do livro a ser alterado")); + resultado = search(codigo, vetorLivro); + if (resultado >= 0) + { + input = null; + input = JOptionPane.showInputDialog("Alterar título de: " + vetorLivro[resultado].titulo + " para:"); + System.out.println(input); + if (input != null){ + vetorLivro[resultado].titulo = input; + } + input = null; + input = JOptionPane.showInputDialog("Alterar autor de: " + vetorLivro[resultado].autor + " para:"); + if (input != null){ + vetorLivro[resultado].autor = input; + } + input = null; + input = JOptionPane.showInputDialog("Alterar gênero de: " + vetorLivro[resultado].genero + " para:"); + if (input != null){ + vetorLivro[resultado].genero = input; + } + }else{ + JOptionPane.showMessageDialog(null, "Não encontrado!"); + } + } + private static void delete(Livro[] vetorLivro){ + int codigo=0; + String confirma= "N"; + codigo = Integer.parseInt(JOptionPane.showInputDialog("Entre com o código do livro a ser removido")); + int resultado = search(codigo, vetorLivro); + if (resultado >= 0){ + confirma = JOptionPane.showInputDialog("Deseja mesmo remover o livro?" + vetorLivro[resultado].titulo + " de código: " + vetorLivro[resultado].codigo + "\n Você esta certo disso ? ( [S] - sim // [N] - não)"); + System.out.println(confirma); + if (confirma.equals("S") || confirma.equals("s")) + { + String titulo = vetorLivro[resultado].titulo ; + vetorLivro[resultado].codigo = 0; + vetorLivro[resultado].titulo = null; + vetorLivro[resultado].autor = null; + vetorLivro[resultado].genero = null; + JOptionPane.showMessageDialog(null, "Livro '"+titulo+"' apagado'"); + } else { + JOptionPane.showMessageDialog(null, "Ok, então ... nenhuma alteração feita"); + } + }else{ + JOptionPane.showMessageDialog(null, "Livro não encontrado!"); + } + + } + private static void locate(Livro[] vetorLivro){ + String option,entrada, message; + message=""; + int pos,i; + i=0; + Livro[] listaLivro; + listaLivro=new Livro[1]; + option = JOptionPane.showInputDialog("Localizar Livro por qual campo? \n\n1. Código\n2. Titulo\n3. Gênero\n4. Autor\n5. Sair"); + switch(Integer.parseInt(option)){ + case 1: + entrada = JOptionPane.showInputDialog("Entre com o código do livro a ser buscado"); + pos=search(Integer.parseInt(entrada), vetorLivro); + listaLivro = new Livro[1]; + listaLivro[0]=vetorLivro[pos]; + break; + case 2: + entrada = JOptionPane.showInputDialog("Entre com o título do livro a ser buscado"); + listaLivro = searchByTitle(entrada, vetorLivro); + break; + case 3: + entrada = JOptionPane.showInputDialog("Entre com o gênero do livro a ser buscado"); + listaLivro = searchByTitle(entrada, vetorLivro); + break; + case 4: + entrada = JOptionPane.showInputDialog("Entre com o autor do livro a ser buscado"); + listaLivro = searchByTitle(entrada, vetorLivro); + break; + default: + JOptionPane.showInputDialog("Saindo do Sistema de Busca"); + break; + } + + if(0==listaLivro.length){ + message="Nenhum Livro foi encontrado!"; + } + else{ + for(i=0;i