Exercice Java Openclass - Java - Programmation
Marsh Posté le 20-02-2015 à 11:11:35
lululili a écrit : Bonjour, j'essaie d'apprendre toute seule les bases de la programmation Java...
|
as-tu regardé ce que lisait le scanner ? Un peu plus haut tu as entré une valeur numérique suivie d'un "return". La méthode nextInt() a lu les chiffres pour faire un nombre, mais a laissé le "return" dans le flux d'entreé. Maintenant tu appelles la méthode "nextLine()" qui va lire jusqu'à ce qu'elle trouve un return. Comme il y en a déjà un, elle n'a pas besoin d'attendre une entrée de l'utilisateur. Il faut donc que tu arrive à vider le flux avant de lire la réponse O/N de l'utilisateur.
Bonne journée
Marsh Posté le 12-03-2015 à 17:19:49
Pour arrondir proprement, tu as la méthode Math.round(val) qui fait ça très bien :-)
Quand tu te contentes de caster en int, tu prends la partie entière mais tu ne fais pas l'arrondi :
9.8 casté en int, ça fait 9. Alors que Math.round(9.8) va renvoyer 10.
Marsh Posté le 16-03-2015 à 12:01:59
Un énorme merci à vous deux !
Leonard ton explication était extrêmement claire et grâce à toi j'ai compris les erreurs !
Fraisouille merci pour cette méthode que je connaissais pas ! Merci encore à vous d'avoir le temps de me lire et de répondre, (surtout que lire du code comme ça ça doit pas être spécialement amusant ^^)
Bonne journée
Marsh Posté le 16-03-2015 à 13:24:19
P'tit complément pour les nombres :
1 -> c'est un int
1.0 ou 1.0d ou 1d -> c'est un double
1f ou 1.0f -> c'est un float
1l -> c'est un long
Typiquement, si tu veux faire une division avec un résultat sous forme d'entier, tu vas écrire :
9/5
si tu veux récupérer un float, tu peux écrire :
9/5.0f ou 9/5f
si tu veux récupérer un double, tu peux écrire :
9/5.0 ou 9/5.0d ou 9/5d
(sachant que dans le cas d'une division, c'est le diviseur qui type l'opération)
Marsh Posté le 19-02-2015 à 20:23:59
Bonjour, j'essaie d'apprendre toute seule les bases de la programmation Java...
J'ai donc tenté de réaliser le premier exercice proposé sur le site openclass(http://openclassrooms.com/courses/apprenez-a-programmer-en-java/tp-conversion-celsius-fahrenheit), un programme basique de conversion des Celsius en Fahrenheit et réciproquement...
Seulement mon code ne marche pas, et je ne comprends absolument pas pourquoi.
La conversion est fausse, et la fin de la boucle me donne une erreur comme quoi" String index out of range: 0"; ce qui n'est d'ailleurs pas étonnant puisqu'il ne me demande pas de rentrer une valeur pour sortie...
Je vous copie colle mon code.
Merci beaucoup pour votre patience et avoir pris la peine de me lire,
A bientôt
Message édité par lululili le 19-02-2015 à 23:21:48