IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

problème avec la boucle while


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de cobos
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2014
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 111
    Par défaut problème avec la boucle while
    Bonsoir à tous, je veux que l'utilisateur saisie les données tant que sa réponse est "OUI".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    char reponse = 'O';
    		while (reponse == 'O') {
     
    			String typeVeh, description, puissance;
    			double prixkilometrage, prixJour = 0;
    			System.out.println("=========================================================");
    			System.out.println("=========================================================");
    			System.out.println("===== ENREGISTREMENT D'UN TYPE DE VEHICULE DANS LA BASE =");
    			System.out.println("=========================================================");
    			System.out.println("=========================================================");
    			System.out.println();
    			System.out.print("Veuillez saisir le type de Véhicule             : ");
    			typeVeh = sc.nextLine();
    			System.out.print("Veuillez saisir Faire une description           : ");
    			description = sc.nextLine();
    			System.out.print("Saisissez la puissance du véhicule              : ");
    			puissance = sc.nextLine();
    			System.out.print("Saisissez le du kilométrage du type de véhicule : ");
    			prixkilometrage = sc.nextDouble();
    			System.out.print("Saisissez le prix du jour                       : ");
    			prixJour = sc.nextDouble();
    			ITypeVehicule typevehiculeService = new STypeVehicule();
    			TypeVehicule typevehicule = new TypeVehicule(typeVeh, description, puissance, prixkilometrage, prixJour);
    			typevehiculeService.ajouter(typevehicule);
    			reponse = ' ';
    			while (reponse != 'O' && reponse != 'N') {
    				// On demande si la personne veut faire un autre essai
    				System.out.print("Voulez-vous enregistrer un nouveau type de véhicule ? (O/N)");
    				reponse = Character.toUpperCase(sc.nextLine().charAt(0));
    				System.out.println("");
    			}
    		}
    mais quand je saisis je rencontre cette erreur :
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0 at java.lang.String.charAt(Unknown Source). L'erreur survient avant même que je réponde à la question. j'ai du oublié quelque chose mais je vois pas quoi

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    sc.nextLine() lit jusqu'au retour clavier non compris donc

    1) ça peut être vide, ton code dois en tenir compte
    2) ça lit depuis la position courante, c'est à dire juste derrière ton nextDouble qui précède, donc au final ça lit le vide entre ton double que tu as tappé et le retour à la ligne qui a suivi.

  3. #3
    Membre confirmé Avatar de cobos
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2014
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 111
    Par défaut
    Ok merci, je devrais mettre un sc.nextLine() après le nextDouble().

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème avec une boucle while avec opérateur &&
    Par paulbach dans le forum Langage
    Réponses: 4
    Dernier message: 08/01/2016, 13h22
  2. Problème avec ma boucle while
    Par gautgaut dans le forum Langage
    Réponses: 7
    Dernier message: 09/07/2013, 18h04
  3. Problème avec des boucles while/for imbriquées
    Par Nico820 dans le forum Général Python
    Réponses: 12
    Dernier message: 14/12/2012, 16h24
  4. [AC-2003] Problème avec ma boucle Do While
    Par maw59 dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/03/2010, 11h21
  5. [AC-2007] Probléme avec une boucle DO While
    Par theBinette dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/02/2010, 17h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo