IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Exception thread "main"


Sujet :

Java

  1. #1
    Candidat au Club Avatar de Synergide
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Exception thread "main"
    Bonjour tout le monde, j'ai besoin de votre aide car je suis gravement bloqué, depuis 04h du matin.
    Je suis un grand débutant en java, j'utilise le drjava-beta.
    J'ai un exercice à faire qui consiste à calculer la racine carrée d'un nombre.
    J'ai donc importé la classe Scanner avec import java.util.Scanner
    Mais en exécutant mon code, il fonctionne tant que je n'ai rien saisi, mais dès lors que je saisi le double, il me donne l'erreur
    java.util.InputMismatchException avec plein d'autres lignes qui débute avec at
    Voici la partie du code concerné par l'erreur


    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
    import java.util.Scanner
    public class Racines{
    public static void main(String[] args){
    final int NFOIS=5;
    int i;
    double racx;
    System.out.println("********************PROGRAMME DE CALCUL DES RACINES CARRÉES***************");
    System.out.println("Bonjour");
    System.out.println("Je vais vous calculer les racines carrées des nombres et/ou chiffres que vous saisissez ");
     
    for(i=0; i<NFOIS ; i++){
    System.out.println("Veillez saisir le nombre ou chiffre dont cherchez la racine carrée");
    Scanner sc = new Scanner(System.in);
    double x = sc.nextDouble();
    sc.close();
    if(x<0.0)
    System.out.println(x + "ne possède pas de racine carrée ");
    else {
    racx = Math.sqrt(x);
    System.out.println(x + "a pour racine carrée" + racx);
    }
    }
    System.out.println("Travail terminé. Au revoir!");
    }
    }
    Si quelqu'un peut m'aider car je ne veux pas sauter cette partie avant de l'avoir comprise.

    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    Citation Envoyé par Synergide Voir le message
    Mais en exécutant mon code, il fonctionne tant que je n'ai rien saisi, mais dès lors que je saisi le double, il me donne l'erreur
    java.util.InputMismatchException avec plein d'autres lignes qui débute avec at
    Il aurait été malin de nous les montrer.

    Mais bon, je crois deviner le problème.

    Tu essaies de taper un double, alors je suppose que tu tapes quelque chose comme ça :

    Un nombre à virgule a priori parfaitement correct et donc tu ne vois pas où pourrait être le problème.

    Le problème c'est ça : Scanner est en fait prévu pour lire des entrées tapées par un utilisateur final, le genre de gens qui ne connaissent rien à la programmation et pas grand-chose aux ordinateurs. Ça peut sembler bizarre à première vue, mais je rappelle que Scanner peut s'utiliser n'importe où, pas seulement dans une invite de commande MS-DOS.

    Et une personne normale et qui parle français, quand elle veut taper le nombre douze virgule cinquante, elle le tape comme ça :

    Scanner s'attend à ce que l'utilisateur tape les nombres de la manière qui correspond à la localisation de son ordinateur.

    S'il se trouve que toi, ce n'est pas une localisation américaine ni française que tu utilises, au pire tu peux dire à Scanner quelle locale utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Scanner sc = new Scanner(System.in);
    sc.useLocale(Locale.US);
    Là, il acceptera 12.50
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Candidat au Club Avatar de Synergide
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Oui mais en mettant ce code il me pose encore un autre problème:

    Nom : sc.Locale(Locale.US).PNG
Affichages : 458
Taille : 4,4 Ko

    Et le premier code, le voici:

    Nom : Racines.PNG
Affichages : 1178
Taille : 31,1 Ko

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Je voulais dire montrer la stacktrace, ce que tu tapes et ce qui s'affiche...

    Concernant ta nouvelle erreur : il faut bien sûr importer la classe Locale avec import java.util.Locale; .

    Tu sais nous avons une section pour débutants. Scanner n'est pas toujours évident quand on s'intéresse aux détails alors je n'en étais pas sûr. Mais là, c'est évident que tu es largement débutant.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Candidat au Club Avatar de Synergide
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Je voulais dire montrer la stacktrace, ce que tu tapes et ce qui s'affiche...

    Concernant ta nouvelle erreur : il faut bien sûr importer la classe Locale avec import java.util.Locale; .

    Tu sais nous avons une section pour débutants. Scanner n'est pas toujours évident quand on s'intéresse aux détails alors je n'en étais pas sûr. Mais là, c'est évident que tu es largement débutant.
    Merci beaucoup. Je vais le faire une fois au lieu de travail. Je crois avoir précisé que j'étais un grand débutant, et si tu me mettais le lien pour la section nous concernant, je te saurais que davantage gré

  6. #6
    Candidat au Club Avatar de Synergide
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Lien pour la section débutant
    Citation Envoyé par thelvin Voir le message
    Je voulais dire montrer la stacktrace, ce que tu tapes et ce qui s'affiche...

    Concernant ta nouvelle erreur : il faut bien sûr importer la classe Locale avec import java.util.Locale; .

    Tu sais nous avons une section pour débutants. Scanner n'est pas toujours évident quand on s'intéresse aux détails alors je n'en étais pas sûr. Mais là, c'est évident que tu es largement débutant.
    Bonjour thelvin. Je t’écr encore pour te demander de bien vouloir m’envoyer le lien pour la section débutant s’il te plaît pour me permettre de m’améliorer. Merci d’avance

  7. #7
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 073
    Points : 7 977
    Points
    7 977
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 0
    Dernier message: 08/04/2008, 19h57
  2. Exception Thread !
    Par halic dans le forum C#
    Réponses: 1
    Dernier message: 21/04/2007, 14h20
  3. [Debutant]Exception NoClassDefFoundError dans main
    Par Mystnux dans le forum Langage
    Réponses: 4
    Dernier message: 17/06/2006, 12h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo