[Erreur] Exception in Thread ....

Exception in Thread .... [Erreur] - Java - Programmation

Marsh Posté le 19-10-2013 à 10:34:14    

Bonjour,
 
Je débute en Java et je rencontre un problème pour un de mes premiers programme. Eclipse ne m'indique aucune erreur mais arrivé à la fin de programme j'ai une erreur "exception in thread" ...
 
Voici le message d'erreur :
 
Vouler-vous recommencer ?(O/N) Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    at java.lang.String.charAt(Unknown Source)
    at Test.main(Test.java:35)
 
La ligne 35 :         Lettre = sc.nextLine().charAt(0);
 
Ce que je ne comprend pas c'est qu'en faisant exactement ce que je veux faire en dehors d'un programme (sur une autre class vierge), il n'y a aucune erreur ! Même en reprenant par copier/coller la portion qui fait cette erreur, il n'y en a pas sur une class vierge ...
 
Voici le code complet du programme (c'est un test, je sais multiplier par 2 et 3 :wahoo: ):  

Spoiler :

import java.util.*;
 
public class Test {
 
 public static void main(String[] args) {
  // TODO Auto-generated method stub
 Scanner sc = new Scanner(System.in);
 char reponse ='o';
 int mode = 0;
 do{
  do{        
  System.out.println("1- Multiplier par 2" );
  System.out.println("2- Multiplier par 3" );
  System.out.print("Que voulez vous faire ?(1/2) " );
  mode = sc.nextInt();
  if (mode == 1){
   System.out.print("Que voulez-vous multiplier ? : " );
   int mult = sc.nextInt();
   mult = mult * 2;
   System.out.println("Résultat : " );
   System.out.println(mult);
  }
  if (mode == 2){
   System.out.print("Que voulez-vous multiplier ? : " );
   int mult = sc.nextInt();
   mult = mult * 3;
   System.out.println("Résultat : " );
   System.out.println(mult);
  }
   
  }while ((mode != 1) && (mode != 2));
   
  do{      
  System.out.print("Vouler-vous recommencer ?(O/N) " );
  reponse = sc.nextLine().charAt(0);
         
       }while(reponse != 'O' && reponse != 'N');
       
     }while(reponse == 'O');
 System.out.println("Bonjour" );
 }
 
}


Merci d'avance !

Reply

Marsh Posté le 19-10-2013 à 10:34:14   

Reply

Marsh Posté le 19-10-2013 à 11:06:39    

Problème résolu 10 min après ce post. J'ai juste ajouter la ligne sc.nextLine() avant la lecture de ma variable reponse.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed