switch avec pour paramètre une variable de type : double ou float
Bonjour à tous,
Je veux faire un switch sur une variable de type : double, mais j'ai l'erreur suivante :
Citation:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot switch on a value of type double. Only convertible int values, strings or enum variables are permitted
Mon code :
Code:
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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| import java.util.*;
public class Exercice94CalculIMC {
public static void main(String[] args) {
// R�aliser un programme qui (indice de la masse corporelle):
// Rappel : l'IMC est calcul� en divisant le poids par la taille au carr�.
// - calcule et affiche l'IMC d'une personne (le poids et la taille seront saisis par l'utilisateur);
//- interpr�te l'IMC calcul� en se servant du tableau ci-dessus.
Scanner sc = new Scanner(System.in);
double taille, poids;
System.out.print("Saisir ta taille en cm : ");
taille = sc.nextDouble();
// On le cache
sc.nextLine();
System.out.print("Saisir ton poids en kg : ");
poids = sc.nextDouble();
double imc = poids / (taille * taille);
switch(imc) {
case imc < 16.5:
System.out.println("Pour une taille " + taille + " cm, et un poids de " +
poids + " kg, votre IMC est : " + imc + "donc dénutritionné(e)");
break;
case imc >= 16.5 && imc < 18.5:
System.out.println("Pour une taille " + taille + " cm, et un poids de " +
poids + " kg, votre IMC est : " + imc + "donc maigrère");
break;
case imc >= 18.5 && imc < 25:
System.out.println("Pour une taille " + taille + " cm, et un poids de " +
poids + " kg, votre IMC est : " + imc + "donc normal");
break;
case imc >= 25 && imc < 30:
System.out.println("Pour une taille " + taille + " cm, et un poids de " +
poids + " kg, votre IMC est : " + imc + "donc en surpoids");
break;
default:
System.out.println("Pour une taille " + taille + " cm, et un poids de " +
poids + " kg, votre IMC est : " + imc + "donc obèse");
break;
}
System.out.println("Fin du programme !");
}
} |
Merci de vos aides !