Probleme d'equation de 2eme degré en java
Résolu/Fermé
A voir également:
- Java equation
- Waptrick java football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Jeux java football - Télécharger - Jeux vidéo
- Java jre - Télécharger - Langages
- Télécharger jeux java gameloft gratuit - Forum Mobile
6 réponses
public class equation
{ public static void main (String[] args)
{double a,b,c,x,x1,x2,det,z,z2,re,im,i;
System.out.println ("calcule des racines de l'equation du 2eme degré");
for(i=0;i<7;i++)
{
{System.out.print("donnez la valeur de a:");
a=Clavier.lireDouble ();
System.out.print("donnez la valeur de b:");
b=Clavier.lireDouble ();
System.out.print("donnez la valeur de c:");
c=Clavier.lireDouble ();
if (a==0)
{if(b==0)
{if(c==0)
System.out.println("infinité de solutions");
else
System.out.println("pas de solutions");
}
else
{x=-c/b;
System.out.println("la solution est:" +x);
}}
else
{det=(b*b)-(4*a*c);
z=Math.sqrt(det);
if(det>0)
{x1=(-b-z)/(2*a);
x2=(-b+z)/(2*a);
System.out.println("les 2 solutions reeles sont:");
System.out.println("x1=" +x1);
System.out.println("x2=" +x2);
}
if(det==0)
{x=-b/(2*a);
System.out.println("la solution double est:" +x);
}
if(det<0)
{z2=Math.sqrt(-det);
re=-b/(2*a);
im=z2/(2*a);
System.out.println("les 2 solutions complexes sont:");
System.out.println("x1=" +re+"+i"+im);
System.out.println("x2=" +re+"-i"+im);
}
}
}
}
}
}
{ public static void main (String[] args)
{double a,b,c,x,x1,x2,det,z,z2,re,im,i;
System.out.println ("calcule des racines de l'equation du 2eme degré");
for(i=0;i<7;i++)
{
{System.out.print("donnez la valeur de a:");
a=Clavier.lireDouble ();
System.out.print("donnez la valeur de b:");
b=Clavier.lireDouble ();
System.out.print("donnez la valeur de c:");
c=Clavier.lireDouble ();
if (a==0)
{if(b==0)
{if(c==0)
System.out.println("infinité de solutions");
else
System.out.println("pas de solutions");
}
else
{x=-c/b;
System.out.println("la solution est:" +x);
}}
else
{det=(b*b)-(4*a*c);
z=Math.sqrt(det);
if(det>0)
{x1=(-b-z)/(2*a);
x2=(-b+z)/(2*a);
System.out.println("les 2 solutions reeles sont:");
System.out.println("x1=" +x1);
System.out.println("x2=" +x2);
}
if(det==0)
{x=-b/(2*a);
System.out.println("la solution double est:" +x);
}
if(det<0)
{z2=Math.sqrt(-det);
re=-b/(2*a);
im=z2/(2*a);
System.out.println("les 2 solutions complexes sont:");
System.out.println("x1=" +re+"+i"+im);
System.out.println("x2=" +re+"-i"+im);
}
}
}
}
}
}
bizu53
Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
859
13 oct. 2008 à 22:48
13 oct. 2008 à 22:48
Il y a longtemps que je n'ai pas touché au Java mais si je me souviens bien pour la racine carré c'est qqch comme Math.sqrt()
c p 1 problemme de faire resoudre le problemme d'equation de 2eme degrè MR ...
un peut d'effort et tu trouve la solutio ...
alors voila la solution mai la prochaine fois il faut que tu travaillllll.....e touts seuuuuuuuuuuuuuuule
-------------------------------------------------------------------------------------------------------------------------
import javax.swing.JOptionPane;
public class Equation {
public static void main ( String args [] )
{
String A;
String B;
String C;
double x1;
double x2;
int a;
int b;
int c;
double discriminant;
A = JOptionPane.showInputDialog ( " Entrer la valeur A " );
B = JOptionPane.showInputDialog ( " Entrer la valeur B " );
C = JOptionPane.showInputDialog ( " Entrer la valeur C " );
a = Integer.parseInt ( A );
b = Integer.parseInt ( B );
c = Integer.parseInt ( C );
discriminant = b * b - 4 * a * c;
x1 = b * ( discriminant / 2 ) / ( 2 * a );
x2 = - b * ( discriminant / 2 ) / ( 2 * a );
JOptionPane.showMessageDialog ( null,
" x1 vaut:" + x1,
" x2 vaut:" + x2,
JOptionPane.PLAIN_MESSAGE );
System.exit ( 0 );
}
}
--------------------------------------------------------------------------------------------------------------
un peut d'effort et tu trouve la solutio ...
alors voila la solution mai la prochaine fois il faut que tu travaillllll.....e touts seuuuuuuuuuuuuuuule
-------------------------------------------------------------------------------------------------------------------------
import javax.swing.JOptionPane;
public class Equation {
public static void main ( String args [] )
{
String A;
String B;
String C;
double x1;
double x2;
int a;
int b;
int c;
double discriminant;
A = JOptionPane.showInputDialog ( " Entrer la valeur A " );
B = JOptionPane.showInputDialog ( " Entrer la valeur B " );
C = JOptionPane.showInputDialog ( " Entrer la valeur C " );
a = Integer.parseInt ( A );
b = Integer.parseInt ( B );
c = Integer.parseInt ( C );
discriminant = b * b - 4 * a * c;
x1 = b * ( discriminant / 2 ) / ( 2 * a );
x2 = - b * ( discriminant / 2 ) / ( 2 * a );
JOptionPane.showMessageDialog ( null,
" x1 vaut:" + x1,
" x2 vaut:" + x2,
JOptionPane.PLAIN_MESSAGE );
System.exit ( 0 );
}
}
--------------------------------------------------------------------------------------------------------------
bizu53
Messages postés
1274
Date d'inscription
samedi 30 août 2008
Statut
Membre
Dernière intervention
21 juin 2015
859
15 nov. 2008 à 14:41
15 nov. 2008 à 14:41
Ce n'est pas la solution mais une solution ... on peut le faire de plein de manière différente, tu en présentes une.
Je chipote sur les mots mais un chat est un chat, "la" n'est pas "une".
Je chipote sur les mots mais un chat est un chat, "la" n'est pas "une".
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
15 nov. 2008 à 15:21
15 nov. 2008 à 15:21
Salut,
Je dirais même plus que ce n'est même pas une solution, ^^ car sa formule est fausse.
Voici une solution fait à la va-vite. Mais l'essentiel est là : l'utilisation de Math.sqrt.
Cdlt
Je dirais même plus que ce n'est même pas une solution, ^^ car sa formule est fausse.
Voici une solution fait à la va-vite. Mais l'essentiel est là : l'utilisation de Math.sqrt.
public class Rac{ public static void main(String args[]){ float a=1; float b=2; float c=-15; float delta=b*b-4*a*c; System.out.println("x1="+(-b+Math.sqrt(delta))/(2*a)); System.out.println("x2="+(-b-Math.sqrt(delta))/(2*a)); } }
Cdlt
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
328
15 nov. 2008 à 20:04
15 nov. 2008 à 20:04
+1 pour Fiddy.
Cependant ton programme fonctionne pour des valeurs de delta positives (comme c'est le cas avec ton exemple).
Pour que le programme soit totalement correct, il faut vérifier que delta est strictement positif et faire ces traitements, ou vérifier que delta est nul et retourner la racine double, ou enfin vérifier que delta est strictement négatif et retourner les 2 racines complexes.
Cependant Y.chakir, tu as maintenant toutes les informations te permettant d'écrire ton programme vu que Fiddy t'a indiqué la méthode Math.sqrt().
Cordialement,
Cependant ton programme fonctionne pour des valeurs de delta positives (comme c'est le cas avec ton exemple).
Pour que le programme soit totalement correct, il faut vérifier que delta est strictement positif et faire ces traitements, ou vérifier que delta est nul et retourner la racine double, ou enfin vérifier que delta est strictement négatif et retourner les 2 racines complexes.
Cependant Y.chakir, tu as maintenant toutes les informations te permettant d'écrire ton programme vu que Fiddy t'a indiqué la méthode Math.sqrt().
Cordialement,
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
>
Marco la baraque
Messages postés
996
Date d'inscription
vendredi 9 mai 2008
Statut
Contributeur
Dernière intervention
5 novembre 2009
15 nov. 2008 à 22:11
15 nov. 2008 à 22:11
et +1 avec Marco la Baraque :d
Et je rajouterais que j'ai oublié également de traiter le cas où a=0. Ce qui nous ramène à une simple équation du premier degré.
Maintenant, t'as tous les éléments pour finir le programme ;)
Cdlt
Et je rajouterais que j'ai oublié également de traiter le cas où a=0. Ce qui nous ramène à une simple équation du premier degré.
Maintenant, t'as tous les éléments pour finir le programme ;)
Cdlt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour ;
c'était mon programme j'ai le vérifié ; et il déroule très bien et merci .
MAXFARES
en java (MS-DOS)
c'était mon programme j'ai le vérifié ; et il déroule très bien et merci .
MAXFARES
en java (MS-DOS)
Public class Equation {
Public static void main (string [] args) {
Double a, b, c, xo, x1, x2, x3, x4, delta;
Terminal.écrireStringln(" Entrer les réels non nuls a, b et c : ");
a=Terminal.lireDouble();
b=Terminal.lireDouble();
c=Terminal.lireDouble();
delta=b*b-4*a*c;
if(delta>0) {
x1=(-b-sqrt(delta))/2*a , x2=(-b+sqrt(delta))/2*a ;
Terminal.ecrireStringln(" les deux solutions réelles sont:" )
Terminal.ecrireStringln("x1="+x1);
Terminal.ecrireStringln("x2="+x2);
}else if (delta==0){
xo=-b/2*a ;
Terminal.ecrireSringln(" la solution double est:" xo);
}else {
x3=(-b/2*a , (-sqrt(-delta))/2*a ) ;
x4=(-b/2*a , (-sqrt(-delta))/2*a );
Terminal.ecrireStingln(" les deux solutions complexes conjuguées sont:");
Terminal.ecrireStingln("x3="+x3);
Terminal.ecrireStingln("x4="+x4);
}
Public static void main (string [] args) {
Double a, b, c, xo, x1, x2, x3, x4, delta;
Terminal.écrireStringln(" Entrer les réels non nuls a, b et c : ");
a=Terminal.lireDouble();
b=Terminal.lireDouble();
c=Terminal.lireDouble();
delta=b*b-4*a*c;
if(delta>0) {
x1=(-b-sqrt(delta))/2*a , x2=(-b+sqrt(delta))/2*a ;
Terminal.ecrireStringln(" les deux solutions réelles sont:" )
Terminal.ecrireStringln("x1="+x1);
Terminal.ecrireStringln("x2="+x2);
}else if (delta==0){
xo=-b/2*a ;
Terminal.ecrireSringln(" la solution double est:" xo);
}else {
x3=(-b/2*a , (-sqrt(-delta))/2*a ) ;
x4=(-b/2*a , (-sqrt(-delta))/2*a );
Terminal.ecrireStingln(" les deux solutions complexes conjuguées sont:");
Terminal.ecrireStingln("x3="+x3);
Terminal.ecrireStingln("x4="+x4);
}