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