Java
Fermé
MOUMEN12
Messages postés
115
Date d'inscription
lundi 1 février 2010
Statut
Membre
Dernière intervention
30 juin 2015
-
2 août 2011 à 18:45
MOUMEN12 Messages postés 115 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 30 juin 2015 - 25 août 2011 à 01:50
MOUMEN12 Messages postés 115 Date d'inscription lundi 1 février 2010 Statut Membre Dernière intervention 30 juin 2015 - 25 août 2011 à 01:50
A voir également:
- Java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
2 août 2011 à 19:08
2 août 2011 à 19:08
Le problème c'est ton if, tu imposes a1>a2 et a1>a3 mais ce n'est pas utile...
Pour le calcul du max, tu peux utiliser Math.max.
Dans le code j'ai utilisé un filtrage d'exception au cas où l'utilisateur entre autre chose qu'un entier, c'est pour ça que j'ai fait une fonction "lire" c'est plus propre ;-)
Pour le calcul du max, tu peux utiliser Math.max.
Dans le code j'ai utilisé un filtrage d'exception au cas où l'utilisateur entre autre chose qu'un entier, c'est pour ça que j'ai fait une fonction "lire" c'est plus propre ;-)
import javax.swing.JOptionPane; public class Somme { public static Integer lire(String message,String titre) { String s = JOptionPane.showInputDialog(null,message,titre,JOptionPane.QUESTION_MESSAGE); try { return Integer.parseInt(s); } catch (NumberFormatException e) { JOptionPane.showMessageDialog(null,"Vous devez entrer un entier !", "NumberFormatException",JOptionPane.ERROR_MESSAGE); return lire(message,titre); } } public static void main(String args []) { int a = lire("Entrer le premier entier.",""); int b = lire("Entrer le deuxième entier.",""); int c = lire("Entrer le troisième entier.",""); int somme = a+b+c; int produit = a*b*c; int max = Math.max(Math.max(a, b),c); JOptionPane.showMessageDialog(null,"Somme = "+somme+"\nProduit = "+produit +"\nMaximum = "+max,"",JOptionPane.INFORMATION_MESSAGE); } }
MOUMEN12
Messages postés
115
Date d'inscription
lundi 1 février 2010
Statut
Membre
Dernière intervention
30 juin 2015
1
2 août 2011 à 20:06
2 août 2011 à 20:06
merci kx,mais votre réponse é un peut compliqué
je suis un débutant.
je suis un débutant.
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 020
Modifié par KX le 2/08/2011 à 20:33
Modifié par KX le 2/08/2011 à 20:33
Le seul truc important à comprendre c'est que ton erreur venait de ton max.
Si tu fais if(a1>a2 && a1>a3) ... "the max is"+a1
Ce n'est pas suffisant car il te faut aussi traiter les cas où le max est a2 ou a3 et tu les as oubliés.
C'est pour cela que j'ai utilisé dans mon code int max = Math.max(Math.max(a, b),c);
Comme ça je calcule d'abord la valeur de max et après j'en fais l'affichage, c'est d'ailleurs comme ça que tu as fait pour la somme et le produit.
Concernant la fonction "lire", c'est juste une astuce qui reprend ce que tu as fait avec showInputDialog/parseInt mais je lui ai juste rajouté un filtrage d'exception (que tu n'es pas obligé de comprendre vu que tu débutes) mais qui permet de gérer le cas ou au lieu d'entrer un entier, l'utilisateur entre autre chose... ça permet au programme de ne pas planter ;-)
Si tu fais if(a1>a2 && a1>a3) ... "the max is"+a1
Ce n'est pas suffisant car il te faut aussi traiter les cas où le max est a2 ou a3 et tu les as oubliés.
C'est pour cela que j'ai utilisé dans mon code int max = Math.max(Math.max(a, b),c);
Comme ça je calcule d'abord la valeur de max et après j'en fais l'affichage, c'est d'ailleurs comme ça que tu as fait pour la somme et le produit.
Concernant la fonction "lire", c'est juste une astuce qui reprend ce que tu as fait avec showInputDialog/parseInt mais je lui ai juste rajouté un filtrage d'exception (que tu n'es pas obligé de comprendre vu que tu débutes) mais qui permet de gérer le cas ou au lieu d'entrer un entier, l'utilisateur entre autre chose... ça permet au programme de ne pas planter ;-)
MOUMEN12
Messages postés
115
Date d'inscription
lundi 1 février 2010
Statut
Membre
Dernière intervention
30 juin 2015
1
25 août 2011 à 01:50
25 août 2011 à 01:50
merci kx pour votre aide