Boa Tarde,
Como faço para solucionar este problema...O erro ocorre na consulta dos dados.....
import javax.swing.JOptionPane;
public class Livro
{
//Criando variáveis para usar nos métodos set e get
static int id=-1;
static String nome="";
static String autor="";
static String genero="";
static String editora="";
//Criando vetor principal
public String[] getLivro()
{
//Criando vetor de string livro contendo 5 posições para conter as 5 informações(id,nome,autor,gen, edit)
String[] livro = new String[5];
//o this indica que é um método. O índice 0 de livro contém todos os ids
//livro[0] recebe ""+(concatenando)this.id pois estamos convertendo um int em string.
livro[0] = ""+this.id;
livro[1] = this.nome;
livro[2] = this.autor;
livro[3] = this.genero;
livro[4] = this.editora;
return livro;
}
//Métodos Set(sem retorno) e Get(com retorno)
public int getId()
{
return this.id;
}
public String getNome()
{
return this.nome;
}
public String getAutor()
{
return this.autor;
}
public String getGenero()
{
return this.genero;
}
public String getEditora()
{
return this.editora;
}
public void setId(int idLivro)
{
this.id = idLivro;
}
public void setNome(String nomeLivro)
{
this.nome = nomeLivro;
}
public void setAutor(String autorLivro)
{
this.autor = autorLivro;
}
public void setGenero(String generoLivro)
{
this.genero = generoLivro;
}
public void setEditora(String editoraLivro)
{
this.editora = editoraLivro;
}
}
import javax.swing.JOptionPane;
public class Principal
{
static int j = 0;
public static void main(String[] args)
{
// mostrará o menu incial para a manipulação do programa
menu();
}
public static void cadastro()
{
//Declarando string id já recebendo o que será digitado na input.
String id = JOptionPane.showInputDialog("Digite o id do livro" );
String nome = JOptionPane.showInputDialog("Digite o nome do livro");
String autor = JOptionPane.showInputDialog("Digite o nome do autor");
String genero = JOptionPane.showInputDialog("Digite o gênero do livro");
String editora = JOptionPane.showInputDialog("Digite a editora do livro");
Livro livro[] = new Livro[3];
livro[j] = new Livro();
//Interger.parseInt(recebe)converte a string recebe para int, pois o método setId é do tipo int.
livro[j].setId(Integer.parseInt(id));
livro[j].setNome(nome);
livro[j].setAutor(autor);
livro[j].setGenero(genero);
livro[j].setEditora(editora);
//Criando um vetor de string "getLivro"
String[] getLivro = livro[j].getLivro();
String impressao = "";
for(int i=0; i<getLivro.length; i++)
impressao += getLivro[i]+"\n";
String[] escolha = {"Sim","Não"};
int op1 = JOptionPane.showOptionDialog(null,"Registro Efetivado\n"+impressao+"\nDeseja continuar cadstrando?", "Biblioteca", JOptionPane.PLAIN_MESSAGE, 1, null, escolha, escolha [0]);
if(op1 == 0)
{
j++;
cadastro();
}
else if(op1 == 1)
{
j++;
menu();
}
// orderna(livro[]);
}
public static void consulta()
{
Object[] cons={"Id do livro", "Título do livro", "Autor do livro", "Gênero do livro", "Editora do Livro"};
String inicio = "Título do Livro";
Object R = JOptionPane.showInputDialog(null, "Escolha a opção da busca desejada:\n", "Consulta", JOptionPane.QUESTION_MESSAGE, null, cons, inicio);
lista(R);
// ordena ();
}
public static void lista(Object res)
{
if(res =="Id do livro" )
{
Livro livro[] = new Livro[3];
int total = 3;
for(int i=0;i<total;i++)
System.out.println(""+livro[i].getId());
}
else if(res == "Título do livro" )
{
String teste = JOptionPane.showInputDialog( "oi" );
}
}
public static void ordena (String livro[])
{
for(j=0;j<livro.length;j++)
{
System.out.println(""+livro);
}
}
public static void menu()
{
//Criando um vetor de opções para colocar na OptionPane Menu.
String[] opcoes={"Cadastro","Consulta","Altera","Sair"};
//op recebe a opção que o usuário escolhe(do vetor de opcoes)
int op = JOptionPane.showOptionDialog(null, "Menu\n Escolha sua Opção", "Biblioteca", JOptionPane.PLAIN_MESSAGE, 1, null, opcoes, opcoes [0]);
//Condições para as opções)
if(op == 0)
{
cadastro();
}
else if ( op == 1)
{
consulta();
}
}
}
Exception in thread "main" java.lang.NullPointerException
at Principal.lista(Principal.java:91)
at Principal.consulta(Principal.java:74)
at Principal.menu(Principal.java:143)
at Principal.cadastro(Principal.java:62)
at Principal.cadastro(Principal.java:56)
at Principal.menu(Principal.java:138)
at Principal.main(Principal.java:13)