Hola que tal estoy haciendo un programa para agregar libros y buscarlos, el siguiente error me salta cuando busco un libro:
Código:
Exception in thread "main" java.lang.NullPointerException
at actividad12.Actividad12.buscar(Actividad12.java:62)
at actividad12.Actividad12.main(Actividad12.java:137)
C:\Users\User\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1
¿Alguien sabe porque se produce este error y sabe como solucionarlo?
Código Java:
Ver original/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package actividad12;
import java.io.*;
/**
*
* @author Me
*/
public class Actividad12 {
public static String libro
[][] = new String[5][5]; //[registro][titulo][autor][editorial][año] public static int numLibro = 0;
public static void agregar() {
if(numLibro < 5) {
for(int j = 0; j < 5; j++) {
switch(j) {
case 0:
System.
out.
print("Registro: "); break;
case 1:
break;
case 2:
break;
case 3:
System.
out.
print("Editorial: "); break;
case 4:
break;
}
try {
libro[numLibro][j] = entrada.readLine();
}
}
numLibro++;
} else {
System.
out.
println("Ya se agregaron los 5 libros"); }
}
public static void buscar
(int opcion,
String busqueda
) {
switch(opcion) {
case 1: //titulo
for(int i = 0; i < libro.length; i++) {
for(int j = 0; j < 5; j++) {
if(libro[i][1].equals(busqueda)) {
switch(j) {
case 0:
System.
out.
print("Registro: "); System.
out.
println(libro
[i
][j
]); break;
case 1:
System.
out.
println(libro
[i
][j
]); break;
case 2:
System.
out.
println(libro
[i
][j
]); break;
case 3:
System.
out.
print("Editorial: "); System.
out.
println(libro
[i
][j
]); break;
case 4:
System.
out.
println(libro
[i
][j
]); break;
}
}
}
}
break;
case 2: //autor
break;
case 3: //año
break;
}
}
/**
* @param args the command line arguments
*/
public static void main
(String[] args
) { try {
int opcion, opcionBuscar;
do {
System.
out.
println("1) Agregar libro"); System.
out.
println("2) Buscar"); System.
out.
println("3) Salir"); opcion
= Integer.
parseInt(entrada.
readLine());
switch(opcion) {
case 1:
agregar();
break;
case 2:
do {
System.
out.
println("1) Autor"); System.
out.
println("2) Titulo"); System.
out.
println("4) Regregar"); opcionBuscar
= Integer.
parseInt(entrada.
readLine());
switch(opcionBuscar) {
case 1:
break;
case 2:
System.
out.
print("Titulo del libro: "); query = entrada.readLine();
buscar(1, query);
break;
case 3:
break;
}
} while(opcionBuscar != 4);
}
} while(opcion != 3);
}
}
}
Saludos y gracias de antemano