Bonjour,
Je veux Convertir des Celcius en Fahrenheit et vice-versa, la conversion se passe bien, mais j'arrive à une erreur que je n'arrive pas à résoudre,
voici mon code :
tout fonctionne bien quand je compile, et quand je lance le programme tout ce passe bien (j'arrive à convertir mes données) avant d'arriver à "select = sc.nextLine().charAt(0);"Code:public static void main(String[] args) { Scanner sc = new Scanner(System.in); char select; float temperature, temperature_convertie; int selection; while(true){ System.out.println("Choisissez le mode de conversion :\n1 -> Conversion Celcius-Fahrenheit\n2 -> Conversion Fahrenheit-Celcius "); selection = sc.nextInt(); if(selection == 1){ System.out.println("conversion en Celcius, indiquer la temperature a convertir :"); temperature = sc.nextFloat(); temperature_convertie = (temperature - 35) *5/9; System.out.println(temperature + " °F coorespond à "+ temperature_convertie+" °C"); } else if(selection == 2){ System.out.println("conversion en Fahrenheit, indiquer la temperature a convertir :"); temperature = sc.nextFloat(); temperature_convertie = temperature * 9/5 + 32; System.out.println(temperature + " °C coorespond à "+ temperature_convertie+" °F"); } System.out.println("Voulez vous faire une autre conversion (O/N) :"); select = sc.nextLine().charAt(0); //erreur ici!! if(select == 'N')break; } System.out.println("Au revoir ..."); }
la je recois dans mon terminal :
Voulez vous faire une autre conversion (O/N) :
Exception in thread "main" java.lang.StringIndexOutOfBoun dsException: String index out of range: 0
at java.lang.String.charAt(Unknow n Source)
at testjava1.main.main(main.java: 33)
et je sais pas du tout pourquoi, car si je retire tout dans mon code et je met uniquement :
Tout se passe bien...Code:System.out.println("Voulez vous faire une autre conversion (O/N) :"); select = sc.nextLine().charAt(0); //erreur ici!!
Avez vous une idée d'ou provient le probleme ?
Merci d'avance
-----