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 :

java.lang.StringIndex OutOfBounds Exception


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut java.lang.StringIndex OutOfBounds Exception
    Salut je suis un débutant et je m'amuse à faire des petits des programmes,
    mais pour un début je suis confronté à une erreur
    voici le code, pourriez vous m'aider
    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
     
    import java.util.Scanner;
    public class Premier {
    public static void main(String[] args ) {
        double a;
        char operateur;
        double b;
        Scanner sc = new Scanner(System.in);
        a = sc.nextDouble();
        System.out.println(a);
        operateur = sc.nextLine().charAt(0);
        System.out.println(operateur);
        b=sc.nextDouble();
        System.out.println(b);
    }
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Oui il y a un problème avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    operateur = sc.nextLine().charAt(0);
    sc.nextLine() fait sauter une ligne. Tu arrives donc sur une ligne vide. Il faut que tu prennes fasses pareil que pour le sc.nextDouble();

    car là c'est comme si tu avais fait sc.nextLine().nextDouble(); ce qui n'aurait pas marché pour les chiffres.

    Voila j'ai essayé de te mettre sur le voie sans te donner la réponse fais moi signe si tu ne comprends pas.

  3. #3
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut
    le code suivant lit les deux nombres entrés au clavier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    import java.util.Scanner;
    public class Premier {
    public static void main(String[] args ) {
        double a;
        double b;
        Scanner sc = new Scanner(System.in);
        a = sc.nextDouble();
        System.out.println(a);
        b=sc.nextDouble();
        System.out.println(b);
    }
    }
    celui-ci lit le caractère entré au clavier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    import java.util.Scanner;
    public class Premier {
    public static void main(String[] args ) {
        char operateur;
        Scanner sc = new Scanner(System.in);
        operateur = sc.nextLine().charAt(0);
        System.out.println(operateur);
    }
    }
    mais quand je veux les rassembler tous les deux en meme temps c-a-d
    entrer le premier nombre et puis le caractère et en dernier temps le
    deuxième nombre, ca donne une erreur, alors comment faire???

  4. #4
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    La méthode nextLine() est faite pour lire une entrée avec plusieurs lignes, ce qui n'est pas adapté à ton cas. Utilise la méthode next().

  5. #5
    Membre éclairé
    Avatar de omar344
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2007
    Messages
    287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2007
    Messages : 287
    Par défaut
    je comprends mais pour un caractère j'utilise nextLine().charAt(0)
    ce qui lit le premier caractère de la chaine tapée
    les deux codes ci-dessus fonctionnent separemment
    mais en les joignant j'ai une erreur

  6. #6
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 050
    Par défaut
    Quand tu place le nextLine après ton double, le nextLine te renvoie une chaine vide, puisqu'il n'y a pas de ligne supplémentaire après ton double. Ce qui engendre une exception sur charAt puisqu'il n'y a pas de caractère.

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

Discussions similaires

  1. Erreur "java.lang.AssertionError: Unexpected exception parsing XML document..."
    Par ZeRo0Cold dans le forum Persistance des données
    Réponses: 6
    Dernier message: 25/05/2015, 17h48
  2. java.lang.NoSuchMethodError: main Exception in thread "main"
    Par rosyfulla dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 26/09/2014, 20h05
  3. Réponses: 3
    Dernier message: 31/07/2012, 02h42
  4. Erreur "java.lang OutOf Bounds Exception: 3"
    Par domxaline dans le forum Débuter avec Java
    Réponses: 11
    Dernier message: 22/05/2012, 21h23
  5. [Exception]Probleme : Java.lang.Exception
    Par Nico66 dans le forum Général Java
    Réponses: 6
    Dernier message: 09/05/2005, 12h06

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