Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Java] probleme de type

string ---> double

Sujet résolu
    24 mai 2007 à 22:45:24

    Bonsoir, j'ai un problème de typage de variables : en effet, je récupère l'entrée du JTextField grâce à getText() (dont le type est String) pour l'utiliser ensuite avec la methode pow (java.lang.Math) qui n'accepte que le double ...


    public void actionPerformed(ActionEvent evenement) {
            JTextField input = (JTextField) evenement.getSource();
           
            String indice = input.getText(); //input est le JTextField !
       
            double x= Math.pow(indice, 4);   
    }   
         


    la methode pow(double a, double b) fait a exposant b (a puissance b) et renvoie le resultat de ce calcul en double

    et çà ne marche pas ...
    si vous pouvez m'aider ? merci
    • Partager sur Facebook
    • Partager sur Twitter
      24 mai 2007 à 23:16:24

      Je n'ai jamais essayé avec un double, mais pour les int voilà comment faire.
      String texte = new String("50");
      int entier = Integer.parseInt(texte);

      Essaye de voir s'il y a une classe pour les Doubles qui permet ce genre de chose.
      • Partager sur Facebook
      • Partager sur Twitter
        24 mai 2007 à 23:21:46

        merci : une fois que java a compris que c'est un nombre :p il convertit dans tout ses types (int long double float ...)

        par contre j'ai droit à un nouveau message d'erreur, après compilation :
        Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: javax.swing.JButton cannot be cast to javax.swing.JTextField


        getText() ne marche qu'avec les JButton ?

        • Partager sur Facebook
        • Partager sur Twitter
          25 mai 2007 à 0:28:06

          là çà te dit que tu essaye de caster un JButton en JTextField
          • Partager sur Facebook
          • Partager sur Twitter
            25 mai 2007 à 9:13:17

            pourtant j'ai bien declaré un objet de type JTextField, non ?

            ou est l'erreur (je suis encore un newbie du java moi :p )
            • Partager sur Facebook
            • Partager sur Twitter
              25 mai 2007 à 9:34:43

              Salut,

              Oui ton input est bien déclarer en JTextField, mais :

              JTextField input = (JTextField) evenement.getSource();


              Tu essaye de caster ce que retourne evenement.getSource() (un JButton dans ton cas) en JTextField, d'où l'erreur.
              • Partager sur Facebook
              • Partager sur Twitter
                25 mai 2007 à 10:32:50

                Tu dois donc faire un test avant :
                if (evenement.getSource() intanceof JTextField) {
                  JTextField input = (JTextField) evenement.getSource();
                }
                else {
                ...
                }
                • Partager sur Facebook
                • Partager sur Twitter
                  25 mai 2007 à 19:45:24

                  merci pour votre aide : mon programme marche maintenant :D
                  • Partager sur Facebook
                  • Partager sur Twitter

                  [Java] probleme de type

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown