style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

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");
}
}
}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ro0206

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

Imagen de JaimeItlzc

Comparacion de Strings

Concatenar dos strings

String a1="hola";
String b1="chao";
String c1=a1+b1;
String d1=new String(a1+b1);
System.out.println(c1 +" "+ d1);

Comparación de Strings

if(a1.equals(a))
System.out.println("a1 y a son iguales");
else
System.out.println("son distintos");
int comparacion=a1.compareTo(b1);
if(comparacion>0){
System.out.println("b1 precede lexicograficamente a a1");
}
else if(comparacion<0){
System.out.println("a1 precede lexicograficamente a b1");
}
else
System.out.println("a1 y b1 son iguales");

Saludos

Imagen de ezamudio

comparaciones

las comparaciones es más fácil si solamente pones

if (a1.compareTo(b1) >0) {
  // a1 > b1
} else {
  // a1 < b1 (porque ya hiciste el equals antes)
}

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 >.

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">