Ayuda pequeño problema
Hola amigos tengo este programa en java y es un ArrayList pero no esta conectado a una base de datos solo es una simulación y pues capturo datos y al momento de hacer la consulta me marca error yo para hacer la consulta capturo el nombre del libro que se quiere consultar y después lo comparo if(consultaS==tituloDelLibro) a la mejor así no es, me pueden ayudar
public void consultasLibros(){
BufferedReader leer=new BufferedReader( new InputStreamReader(System.in));
try{
System.out.println(" ");
System.out.println("Teclea el nombre del libro a consultar: ");
consultaS=leer.readLine();
}catch(Exception e){
System.out.println("Error de captura");
}
for(Biblioteca consulta: DatosBiblioteca.lista){
if(consultaS==tituloDelLibro){
System.out.println(" ");
System.out.println("Codigo del libro: "+consulta.codigoLibro);
System.out.println("Titulo del libro: "+consulta.tituloDelLibro);
System.out.println("Nombre del autor: "+consulta.autorDeLibro);
}else{
System.out.println("Error");
}
}
}
- Inicie sesión o regístrese para enviar comentarios
titulo del libro
si titulo del libro y consultaS son cadenas, la comparacion hazla con un equals, if(consultaS.equals(consulta.tituloDelLibro)). ademas estas accediendo a algo que no existe tituloDelLibro
Comparacion de Strings
Concatenar dos strings
Comparación de Strings
Saludos
comparaciones
las comparaciones es más fácil si solamente pones
La idea de lo que devuelve el método compare es que lo compares con 0 y que el operador que usas es como si estuviera entre los dos operandos. Es decir si quieres saber si la cadena A es mayor que la cadena B, mentalmente haces "A > B" pero como eso no se puede porque no hay sobrecarga de operadores en Java, entonces "A.compareTo(B) > 0", es decir el operador es >.