J'ai besoin d'aide par lé orienté objéts Java
Résolu
Cybertrack
Messages postés
4
Statut
Membre
-
Cybertrack Messages postés 4 Statut Membre -
Cybertrack Messages postés 4 Statut Membre -
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
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Site pour vendre des objets d'occasion - Guide
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
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 ;-)