Bonjour à tous,

Je veux faire un switch sur une variable de type : double, mais j'ai l'erreur suivante :
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 : 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
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 !