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

Langage Java Discussion :

Methode obsolete , pourquoi


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Par défaut Methode obsolete , pourquoi
    Bonjour voila mon code

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    import javax.swing.*;
     
    public class JeuNono
    {
    public static void main(String[] parametre) {
     
            int Nblu = -1, nbboucle = 0;
            int i = (int) (1000* Math.random());
     
            String message = ("UN JEU : trouver un nombre entre 1 et 1000");
           JOptionPane.showMessageDialog(null,message);
     
           while (Nblu != i)
           {
               String texteNblu= JOptionPane.showInputDialog("tapez un chiffre:");
               Nblu=Integer.parseInt(texteNblu);
                if (Nblu > i)
     
            JOptionPane.showInputDialog("Trop grand, mon petit!");
     
                if (Nblu < i)
     
                	JOptionPane.showInputDialog("Trop petit , mon grand!");
     
                nbboucle++;
     
     
    			}
            String Message=("Bravo: tu as réussi en " + nbboucle + " fois");
         JOptionPane.showMessageDialog(null,Message);
     
        }
    }

    A la compilation dans Eclipse j'ai une erreur methode obsolete .
    Pourtant Integer.parseInt() ne me semble pas erroné
    Quelqu'un peut-il m'aider
    Merci d'avance pour vos lumieres

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 282
    Par défaut
    Je viens de tester chez moi, aucun soucis le jeu fonctionne...

    par contre remplace tes "trop petit" et "trop grand" par des showMessageDialog et pas input dialog

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Par défaut c'est fait merci de ton conseil
    Je viens de tester chez moi, aucun soucis le jeu fonctionne...

    par contre remplace tes "trop petit" et "trop grand" par des showMessageDialog et pas input dialog
    C'est fait merci quand même.
    Mais je ne comprends toujours pas pourquoi j'ai ce message d'erreur.
    Eclipse 3.2 et JVM 1.6



    Voila le message d'erreur:
    Exception in thread "main" java.lang.NumberFormatException: radix -1 less than Character.MIN_RADIX
    at java.lang.Integer.parseInt(Integer.java:419)
    at JeuNono.main(JeuNono.java:17)
    Désolé mais je ne connais pas .
    J'ai cherché dans la faq mais j'ai rien trouvé
    petite explication, svp
    Merci

  4. #4
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    parseInt

    public static int parseInt(String s)
    throws NumberFormatException
    Throws:
    NumberFormatException - if the String does not contain a parsable int.
    Dixit la Javadoc de la classe Integer.

    Il faut que tu gères les exceptions pouvant être levées. En effet, si l'utilisateur entre un caractère, une exception est levée.

    Utilise un try/catch pour gérer l'exception éventuelle que peut lever la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Nblu=Integer.parseInt(texteNblu);

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 144
    Par défaut merci de ton conseil
    Utilise un try/catch pour gérer l'exception éventuelle que peut lever la ligne suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Nblu=Integer.parseInt(texteNblu);
    Merci .
    Pourrais-tu m'expliquer ce qu'est un radix stp
    Ok pour le try catch

  6. #6
    Membre émérite
    Avatar de sironimo
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 669
    Par défaut
    Le radix correspond en fait à la base/racine. Tu as par exemple la base 10 pour le décimal, 16 pour l'hexadécimal, etc.

    Se sera la base utilisée pour parcourir ta chaîne s dans la méthode parseInt (String s, int radix)

    Ceci est expliqué un peu dans la Javdoc de la classe Integer

    Examples:

    parseInt("0", 10) returns 0
    parseInt("473", 10) returns 473
    parseInt("-0", 10) returns 0
    parseInt("-FF", 16) returns -255
    parseInt("1100110", 2) returns 102
    parseInt("2147483647", 10) returns 2147483647
    parseInt("-2147483648", 10) returns -2147483648
    parseInt("2147483648", 10) throws a NumberFormatException
    parseInt("99", 8) throws a NumberFormatException
    parseInt("Kona", 10) throws a NumberFormatException
    parseInt("Kona", 27) returns 411787

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 08/04/2010, 12h41
  2. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 15h43
  3. [attribut] methode obsolete
    Par ZaaN dans le forum C#
    Réponses: 1
    Dernier message: 30/09/2008, 12h03
  4. Methode service longue pourquoi
    Par pcouas dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 17/04/2008, 10h25
  5. Réponses: 5
    Dernier message: 07/07/2005, 11h20

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