Version sans JavaScript, en lecture seule : les ateliers, les quiz et l’exécution du code n’y sont pas. Version complète · Catalogue · Se connecter
Séquence
Pourquoi int x = 10.5 est refusé
Socle
Dans le fichier, la ligne int x = 10.5; est en commentaire. Décommentez-la et lancez : lisez le message du compilateur. Puis corrigez de deux façons : valeurExacte() doit renvoyer 10.5 sans rien perdre, et valeurTronquee() doit renvoyer 10 en demandant explicitement la conversion.
Ici, un atelier : on y écrit et on y exécute du code. Il demande JavaScript.
Code de départ
Exercices.java
public class Exercices {
public static void main(String[] args) {
// Decommentez la ligne suivante et lancez pour lire l'erreur :
// int x = 10.5;
System.out.println(valeurExacte());
System.out.println(valeurTronquee());
}
public static double valeurExacte() {
// TODO : renvoyer 10.5 sans perte
return 0;
}
public static int valeurTronquee() {
// TODO : renvoyer 10.5 converti en int
return 0;
}
}
Le socle se valide dans l’atelier, qui demande JavaScript.
Indice 1
10.5 est un double. Java refuse de le ranger dans un int tout seul, car il y aurait perte d’information : il exige que vous le demandiez avec (int).