Je suis en train de coder un mini-jeu en mode console. J'ai une classe Personnage, dans laquelle je souhaitais définir une méthode "ajoutInventaire", qui ajoute un élément o dans l'inventaire, qui est une Liste. Comme je souhaite limiter la taille de l'inventaire à 10 objets, lorsque la limite est atteinte je demande à l'utilisateur s'il souhaite remplacer un objet de l'inventaire par celui récupéré. Voici la méthode ajoutInventaire :
public void ajoutInventaire(Obj o) {
if(inventaire.size() < 10) {
inventaire.add(o);
System.out.println("Objet "+o.getNom()+" ajouté à l'inventaire");
} else {
System.out.println("Inventaire plein, remplacer un item possédé par "+o.getNom()+" ?");
System.out.println();
System.out.print("Repondre oui ou non : ");
Scanner choixLacherObjet = new Scanner(System.in);
String choixJoueur = choixLacherObjet.nextLine();
if(choixJoueur == "oui") {
for(Obj ob : inventaire) {
System.out.println(ob.getNom());
}
Scanner choixObjet = new Scanner(System.in);
System.out.println("Remplacer quel objet par "+o.getNom());
choixJoueur = choixObjet.nextLine();
Obj objet = new Obj();
for(int i = 0 ; i < 10 ; i++) {
if(inventaire.get(i).getNom() == choixJoueur) {
objet = inventaire.get(i);
break;
}
}
inventaire.remove(objet);
inventaire.add(o);
choixObjet.close();
} else {
System.out.println("Vous laissez l'objet");
}
choixLacherObjet.close();
}
}
Lorsque j'exécute le test de cette méthode, il m'indique cette erreur après le "Repondez oui ou non :" ->
Exception in thread "main" java.util.NoSuchElementException: No line found
at java.base/java.util.Scanner.nextLine(Scanner.java:1651)
at testjeu/testjeu.Personnage.ajoutInventaire(Personnage.java:47)
at testjeu/testjeu.Combat.main(Combat.java:145)
Est-ce que l'un d'entre vous aurait une idée d'où pourrait venir l'erreur ? J'ai beau chercher je l'arrive pas à voir où elle serait... Ce qui est sûr en tout cas, c'est qu'elle est liée au Scanner
Je précise d'ailleurs que mon IDE (Eclipse) ne m'indique aucune erreur dans le programme et le compile normalement...
Merci d'avance pour votre aide !!
- Edité par EthanWright 14 février 2021 à 13:55:08
Problème de saisie avec le Scanner
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.