A voir également:
- Probleme java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
3 réponses
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
329
21 sept. 2008 à 15:32
21 sept. 2008 à 15:32
Bonjour,
Commentaires:
Pour manipuler des entiers, il faut utiliser des int ou des long.
Pour manipuler des réels, des float ou des doubles.
La taille est un réel, c'est un float, les autres des entiers, donc des int.
indiceQuetlet = (int) (poids/(taille*taille)); : le résultat de taille*taille est un float. Le résultat de poids/(taille*taille) est un float aussi (pour faire le calcul, le compilateur fait un cast implicite de poids en float). Autrement dit, pour stocker le résultat final (un float donc) dans indiceQuetlet qui est un int, il faut faire un cast en int (je pense que si tu ne le spécifies pas directement la machine virtuelle le fait automatiquement, mais bon, au moins c'est explicite).
Enfin, indiceQuetlet < 20 || indiceQuetlet > 25 marchera mieux que indiceQuetlet < 20 && indiceQuetlet > 25, parce que je ne connais pas de nombre qui soit à la fois plus petit que 20 et plus grand que 25...
Cordialement
/**Entraînement aux multiplications, n°1 @Fayçal -- 22/09/2008 */ public class multi1_18 { public static java.util.Scanner scanner = new java.util.Scanner(System.in); public static void main(String[] args) { float taille; int poids, indiceQuetlet; System.out.println("Tapez votre taille en metre :"); taille = scanner.nextFloat();// unite en metre System.out.println("Tapez votre poids en kg :"); poids = scanner.nextInt();// unite kg indiceQuetlet = (int) (poids/(taille*taille)); System.out.println("Votre indice de Quetlet est de :" + indiceQuetlet); if (indiceQuetlet < 20 || indiceQuetlet > 25){ System.out.println("Votre etat est anormal"); } else { System.out.println("Votre etat est normal"); } } }
Commentaires:
Pour manipuler des entiers, il faut utiliser des int ou des long.
Pour manipuler des réels, des float ou des doubles.
La taille est un réel, c'est un float, les autres des entiers, donc des int.
indiceQuetlet = (int) (poids/(taille*taille)); : le résultat de taille*taille est un float. Le résultat de poids/(taille*taille) est un float aussi (pour faire le calcul, le compilateur fait un cast implicite de poids en float). Autrement dit, pour stocker le résultat final (un float donc) dans indiceQuetlet qui est un int, il faut faire un cast en int (je pense que si tu ne le spécifies pas directement la machine virtuelle le fait automatiquement, mais bon, au moins c'est explicite).
Enfin, indiceQuetlet < 20 || indiceQuetlet > 25 marchera mieux que indiceQuetlet < 20 && indiceQuetlet > 25, parce que je ne connais pas de nombre qui soit à la fois plus petit que 20 et plus grand que 25...
Cordialement