Variables en "double" non compatibles avec Scanner

Fermé
RPGboyy - Modifié par RPGboyy le 26/01/2015 à 17:43
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 26 janv. 2015 à 20:54
Bonjour à tous,
La question que je vais vous poser va peut-être vous parraître ridicule mais je ne fais que débuter en programmation (étant en 2nde...). *Language : JAVA* / J'ai un problème puisque je veux faire "Lire la variable Z" mais dans un format "Double" puisqu'il y a beaucoup de chances qu'il y ait des nombres "derrières" la virgule. Il me semble que c'est un problème avec la classe Scanner.
Voici un exemple de programme simple qui ne marche pas en double :
package prob02;
import java.util.*;


public class prob02 {

    /**
     * @param args
     */
    
    public static void main(String[] args) {
               // variables
                    System.out.println ("Enter the variable Z"); 
                        Scanner text=new Scanner (System.in);
                            double Z=text.nextDouble();                     
                    //calcul
                                double W=28.3495*Z;
                                    System.out.println (W + " grams");
        }
    
    }


Merci bien de me répondre
A voir également:

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
26 janv. 2015 à 17:59
Bonjour,

Et quel est le problème ?

Remarque : si ton ordinateur est en français, par défaut, Scanner attend une virgule (et non un point).
1
Merci KX,
Je ne sais pas pourquoi mais l'IDE indique "Java result=1" (donc erreur) et non pas un résultat normal. Il y a sûrement erreur autre part ou alors c'est tout simplement l'IDE qui visiblement déconne^^. Pourtant lorsque je change la variable Double en Int, ça marche^^. Mon ordinateur est en anglais donc pas de problèmes au niveau de virgules/points.
Merci beaucoup pour vos réponses KX!
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
26 janv. 2015 à 20:41
Peut-être l'IDE, c'est quoi ?

En tout cas le code est bon, tu peux le tester ici : https://www.browxy.com/
NB. enlèves juste le package pour ce site.
0
Le message d'erreur qui apparait, est le même que celui sur ma console :

Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:909)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextDouble(Scanner.java:2456)
at prob02.main(prob02.java:14)

Encore merci, et désoler si je parrais vraiment ridicule mais bon je débute haha
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015 > RPGboyy
26 janv. 2015 à 20:54
Ce message apparaît lorsque t'es trompé dans la saisie, parce que tu as mis un point à la place d'une virgule (ou l'inverse selon la langue), que tu as mis des lettres à la place des chiffres, etc.
0