Problème de comparaison avec paramètre Objet et chaine de de caractères
Voila j'ai un problème avec ce code:
Citation:
private void rechtitre()
{
System.out.println("Entre dans la méthode");
System.out.println("Quel est le titre du livre recherché?");
Scanner sc=new Scanner(System.in);
String rech = sc.next();
System.out.println("Avant le IF");
int i;
for(i=0;i<nLivre;i++)
{
System.out.println("Entre dans le FOR");
Livre l = catalogue[i];
if(l.getTitre().equals(rech) )
{
System.out.println("Le livre est déja présent dans la catalogue"+l.getTitre());
}
else System.out.println("Le livre n'est pas présent");
}
}
Dans mon cas, il n'entre même pas dans la boucle parce qu'il n'affiche que le "Avant le IF"...
J'aimerais qu'il compare dans la valeur du titre d'un des livres avec la valeur du livre recherché..
Je ne comprend pas vraiment pas pourquoi cela ne fonctionne pas :(
Je vous met le code complet de ma classe principale au cas ou
Citation:
package labo3;
import java.util.*;
/**
*
* @author DequesneAllan
*/
public class Bibliotheque
{
private Livre[] catalogue;
private int nLivre = 0;
public Bibliotheque()
{
System.out.println("Combien de livre maximum voulez vous introduire dans le catalogue?");
Scanner sc=new Scanner(System.in);
int maxl = sc.nextInt();
catalogue = new Livre[maxl];
int i;
for (i=0;i<maxl;i++)
{
catalogue[i] = new Livre();
}
int choix = 5;
while (choix > 4)
{
System.out.println("Que souhaitez vous faire?");
System.out.println("[1]Ajouter un livre");
System.out.println("[2]Rechercher un titre");
System.out.println("[3]Rechercher l'ISBN d'un livre");
System.out.println("[4]Sortir");
Scanner ss=new Scanner(System.in);
choix = ss.nextInt();
}
switch (choix)
{
case 1: ajout();
break;
case 2: rechtitre();
break;
case 3: rechIsbn();
break;
case 4: System.exit(0) ;
break;
}
}
private void ajout()
{
catalogue[nLivre] = new Livre();
nLivre++;
}
private void rechtitre()
{
System.out.println("Entre dans la méthode");
System.out.println("Quel est le titre du livre recherché?");
Scanner sc=new Scanner(System.in);
String rech = sc.next();
System.out.println("Avant le IF");
int i=0;
for(i=0;i<nLivre;i++)
{
System.out.println("Entre dans le FOR");
Livre l = catalogue[i];
if(l.getTitre().equals(rech) )
{
System.out.println("Le livre est déja présent dans la catalogue"+l.getTitre());
}
else System.out.println("Le livre n'est pas présent");
}
}
private void rechIsbn()
{
System.out.println("Quel est l'ISBN recherché?");
Scanner sc=new Scanner(System.in);
String isbn = sc.next();
int i;
for(i=0;i<nLivre;i++)
{
Livre l = catalogue[i];
if(l.getIsbn().equals(isbn))
{
System.out.println(l);
}
else System.out.println("L'ISBN n'est pas présent");
}
}
public static void main(String[] args)
{
Bibliotheque maBibli = new Bibliotheque();
}
}