Java
MOUMEN12
Messages postés
127
Statut
Membre
-
MOUMEN12 Messages postés 127 Statut Membre -
MOUMEN12 Messages postés 127 Statut Membre -
Bonjour,
salut a tous
je n'arrive pas a corrigé 7 petit pgm en java.aider moi svp et merci a l'avance
je veut affiché la somme et le produi et max au meme boite de dialog
voila mon essai
import javax.swing.*;
public class Somme
{
public static void main(String args [])
{
String a,b,c;
int a1,a2,a3;
int s=0;
int p=0;
a=JOptionPane.showInputDialog(null,"enter first integer");
b=JOptionPane.showInputDialog(null,"enter second integer");
c=JOptionPane.showInputDialog(null,"enter third integer");
a1=Integer.parseInt(a);
a2=Integer.parseInt(b);
a3=Integer.parseInt(c);
s=a1+a2+a3;
p=a1*a2*a3;
if(a1>a2 && a1>a3)
JOptionPane.showMessageDialog(null,s+" is the somme\nthe max is"+a1,"class moumen",JOptionPane.INFORMATION_MESSAGE);
}}
salut a tous
je n'arrive pas a corrigé 7 petit pgm en java.aider moi svp et merci a l'avance
je veut affiché la somme et le produi et max au meme boite de dialog
voila mon essai
import javax.swing.*;
public class Somme
{
public static void main(String args [])
{
String a,b,c;
int a1,a2,a3;
int s=0;
int p=0;
a=JOptionPane.showInputDialog(null,"enter first integer");
b=JOptionPane.showInputDialog(null,"enter second integer");
c=JOptionPane.showInputDialog(null,"enter third integer");
a1=Integer.parseInt(a);
a2=Integer.parseInt(b);
a3=Integer.parseInt(c);
s=a1+a2+a3;
p=a1*a2*a3;
if(a1>a2 && a1>a3)
JOptionPane.showMessageDialog(null,s+" is the somme\nthe max is"+a1,"class moumen",JOptionPane.INFORMATION_MESSAGE);
}}
A voir également:
- Java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Eclipse java - Télécharger - Langages
2 réponses
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);
}
}
merci kx,mais votre réponse é un peut compliqué
je suis un débutant.
je suis un débutant.
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 ;-)