J'ai besoin d'aide par lé orienté objéts Java
Résolu
Cybertrack
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Cybertrack Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Cybertrack Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonsoir tout le monde, voila j'ai presque terminé un exercice sur Java qui traite oriente objet , mais j'ai trouvé dés difficulté dans le main , l'exercice a demandé de faire un menu
qui permet d'ajouter supprimer etc .. comme cela
1=Ajouter lecteur
2=Supprimer Electeur
3=recherche Electeur Par numero
1
veuillez ajouter le nom
veuillez ajouter le prenom
mais le problème quand l'utilisateur saisit par exemple 1 il s'affiche automatiquement veuillez ajouter le nom
veuillez ajouter le prenom
mais je veux qu'il s'affiche juste veuillez ajouter le nom puis quand l'utilisateur saisit il s'affiche le 2em message veuillez ajouter le prenom voila le code source
qui permet d'ajouter supprimer etc .. comme cela
1=Ajouter lecteur
2=Supprimer Electeur
3=recherche Electeur Par numero
1
veuillez ajouter le nom
veuillez ajouter le prenom
mais le problème quand l'utilisateur saisit par exemple 1 il s'affiche automatiquement veuillez ajouter le nom
veuillez ajouter le prenom
mais je veux qu'il s'affiche juste veuillez ajouter le nom puis quand l'utilisateur saisit il s'affiche le 2em message veuillez ajouter le prenom voila le code source
public static void main(String[] args) { // TODO Auto-generated method stub int rep; Scanner scr=new Scanner(System.in); ListeElectorale Electoral=new ListeElectorale(); do{ System.out.println("1=Ajouter lecteur \n2=Supprimer Electeur \n3=recherche Electeur Par numero \n4=Taux du vote \n5=Enregistrer La liste des électeur"); rep=scr.nextInt(); switch(rep){ case 1:{ System.out.println("veuillez ajouter le nom"); String nom=scr.nextLine(); System.out.println("veuillez ajouter le prenom"); String prenom=scr.nextLine(); System.out.println("veuillez ajouter la date naissance"); int date=scr.nextInt(); System.out.println("veuillez entrer la ville"); String ville=scr.nextLine(); System.out.println("veuillez entrer le numero de bureau de vote"); int numerobureauvpte=scr.nextInt(); Electeur electeur=new Electeur(nom,prenom,date,ville,numerobureauvpte); if(Electoral.ajouterElecteur(electeur)){ System.out.println("electeur a été ajouté"); } else{ System.out.println("erreur lors de l'ajoute"); } break; }
A voir également:
- J'ai besoin d'aide par lé orienté objéts Java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Site pour vendre des objets d'occasion - Guide
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
2 réponses
C'est un effet de bord de la lecture clavier.
En lisant un entier avec nextInt, il lit également la fin de ligne, et il la "stocke" dans la pile, pour la consommer au premier nextLine (lorsque tu demandes le nom), c'est pour ça que tu passes directement au prénom.
Solution : rajoute un nextLine qui ne sert "à rien", juste après ton nextInt :
En lisant un entier avec nextInt, il lit également la fin de ligne, et il la "stocke" dans la pile, pour la consommer au premier nextLine (lorsque tu demandes le nom), c'est pour ça que tu passes directement au prénom.
Solution : rajoute un nextLine qui ne sert "à rien", juste après ton nextInt :
rep=scr.nextInt(); scr.nextLine();Remarque : je suis sûr qu'en poussant un peu plus l'orienté objet dans ton code tu arriverais à faire une méthode lireElecteur qui permettrait de réduire la taille de ton main ;-)