CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Aide java en div par 0

thepefectform
thepefectform
Niveau 10
21 juin 2015 à 20:39:11

Dans mon programme, il y a une division et je veux envoyer un message si l'utilisateur essaye de diviser par 0 !
donc

if(press == '/')
            {
               if(Double.parseDouble(tf_calcul.getText() == '0')
               {
                  resultat = "Div par 0 impossible";
               }
               else
               {
                resultat = num / Double.parseDouble(tf_calcul.getText());
                }
            }

Sauf que ça marche pas :hap:
Comment faire ?

Pseudo supprimé
Pseudo supprimé 21 juin 2015 à 20:47:35

Bah déjà il manque une parenthèse dans la première condition.

Et ce que tu dois faire c'est plutôt :

if (Double.parseDouble(tf_calcul.getText()) == 0)

Tu récupères le texte, tu le convertis en double puis tu vérifies si c'est égal à 0.
Ou alors tu peux juste faire :

if (tf_calcul.getText() == '0')

Mais ça dépend de comment ton programme marche.

Message édité le 21 juin 2015 à 20:48:56 par Pseudo supprimé
thepefectform
thepefectform
Niveau 10
21 juin 2015 à 21:31:54

Merci pour l'aide !
Donc j'ai fait çaif(press == '/') { if(Double.parseDouble(tf_calcul.getText()) == 0) { tf_calcul.getText("Impossible de diviser par 0"); } else { resulta = num / Double.parseDouble(tf_calcul.getText()); }

Mais il y a une erreur de compilpour le tf_calcul.getText("Impossible de diviser par 0") :(

error: no suitable method found for getText(String)
tf_calcul.getText("Impossible de diviser par 0");

Hamsterloulo
Hamsterloulo
Niveau 9
21 juin 2015 à 21:32:42

Sinon tu peux faire ça avec un try{} catch(ArithmeticException e )

thepefectform
thepefectform
Niveau 10
21 juin 2015 à 21:34:58

Oui le Try Catch j'y ai pensé sauf que je ne sais pas ou placer dans le programme :(

Hamsterloulo
Hamsterloulo
Niveau 9
21 juin 2015 à 21:37:19

Au moment ou la division se fait

thepefectform
thepefectform
Niveau 10
21 juin 2015 à 21:48:58

Merci !
Donc j'ai fait ça
if(press == '/') { try { if(Double.parseDouble(tf_calcul.getText()) == 0) { } else { resulta = num / Double.parseDouble(tf_calcul.getText()); } } catch (NumberFormatException e) { tf_calcul.setText("Impossible de diviser par 0"); }
Je n'ai plus de message d'erreur mais sur le JTextField, je n'ai pas le message voulu :(

Message édité le 21 juin 2015 à 21:49:34 par thepefectform
Hamsterloulo
Hamsterloulo
Niveau 9
21 juin 2015 à 21:52:46

Je pense que c'est du au fait que le if avec rien dedans est appelé et donc le else n'est pas appelé

thepefectform
thepefectform
Niveau 10
21 juin 2015 à 22:01:28

Même en mettant tf_calcul.setText("Impossible de diviser par 0"); dans le if, il n'y a rien. :(

Hamsterloulo
Hamsterloulo
Niveau 9
21 juin 2015 à 22:05:19

Passe skype si tu veux : hamsterloulou

thepefectform
thepefectform
Niveau 10
21 juin 2015 à 22:17:34

Merci mais je n'ai pas de micro :snif:

sinon pour mon code j'ai
tf_calcul.setText(String.valueOf(resultat)); //Pour afficher le résultat donc, 0.0 par défaut à la fin.
C'est pour donc qu'il n'affiche pas mon message d'erreur vu que celui ci l'écrase.:( (je crois)
Donc dans le if je fais mettre resultat = message d'erreur ainsi il sera bien affiché mais resultat est un double. :(

En tout cas merci pour l'aide !

Hamsterloulo
Hamsterloulo
Niveau 9
21 juin 2015 à 22:27:01

T'as trouvé la solution ?
Et pour le skype c'est pas pour vocal c'est juste plus pratique

thepefectform
thepefectform
Niveau 10
21 juin 2015 à 22:31:04

J'ai essayé avec une booléenne ....
je met div0=false au début
if(press == '/')
{

//division par 0
try
{
if(Double.parseDouble(tf_calcul.getText()) == 0)
{

div0=true;
}
else
{
resultat = num / Double.parseDouble(tf_calcul.getText());
}
}
catch (NumberFormatException a)
{

}
}

Mais quand je fais n'importe quel calcul, il m'affiche le message de division par 0

Darkandgel
Darkandgel
Niveau 10
21 juin 2015 à 23:51:08
if(press == '/')
{
         try{
                resultat = num / Double.parseDouble(tf_calcul.getText());
         }
         catch(Exception e){
              tf_calcul.setText("Impossible de diviser par 0");
         }
                             
}
Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment