[Java] problème avec la fonction Math.sqrt

Fermé
nah01 Messages postés 75 Date d'inscription lundi 2 février 2009 Statut Membre Dernière intervention 2 novembre 2012 - 2 févr. 2009 à 18:56
 Utilisateur anonyme - 3 févr. 2009 à 19:28
Bonjour, je viens juste de m'inscrir dans le clubs et j'en suis heureux.
en fait je fait mes débuts dans le java(version: jdk1.6.0_06) et j'essai d'ecrire un program qui résoud une équation du" 2èm dégré" et voila mon code:
import java.io.*;
public class degre2
{
public static void main(String args[])
{
String p,s,r;
Float a,b,c,x,x1,x2,D,d,q,d1,d2;

/* p,s,r sont les valeurs text
a,b,c les valeurs des coefficient
x1,x2,D,d sont respectivement solution1,solution2,discriminant et racine du discriminant*/

try
{
BufferedReader clavier=new BufferedReader(new InputStreamReader(System.in));

// lecture et conversion des variables

System.out.println("entrer vos coefficiants svp");
System.out.print("a=");
p=clavier.readLine();
a=Float.parseFloat(p);
System.out.print("b=");
s=clavier.readLine();
b=Float.parseFloat(s);
System.out.print("c=");
r=clavier.readLine();
c=Float.parseFloat(r);

if (((a==0)&&(b==0))&&(c==0))
{
System.out.println("infinite de solution !!!");
}
else if(a!=0)
{
D=((b*b)-(4*a*c));
if(D<0)
{
System.out.println("pas de solution !!!");
}
else if(D==0)
{
q=2*a;
x=(-b/q);
System.out.println("solution double x="+x);
}
else
{
d=Math.sqrt(D);
d1=(-b)-d;
d2=(-b)+d;
x1=d1/q;
x2=d2/q;
System.out.println("les deux solutions sont:");
System.out.print("x1="+x1);
System.out.print("x2="+x2);
}
}
}
catch(Exception e)
{
System.out.println("Erreur!"+e);
}
}
}


j'ai un problème avec la fonction "Math.sqrt" cf:ligne 48 voila le message d'erreur:" type incompatible in Math.sqrt requiere:java.lang.Float .
A voir également:

2 réponses

Utilisateur anonyme
3 févr. 2009 à 19:28
Salut,

À noter que l'on peut faire directement unDouble = unFloat; (mais pas l'inverse)

Cordialement,

Dan
1
mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
2 févr. 2009 à 20:00
la methode sqrt prend en parametre un double pas un float...
il te faut caster D
0