Je suis extrêmement novice en Java et on m'a demandé de programmer un solveur d'équations quadratiques pour une classe à l'école. Je ne suis pas sûr si mon code est même à distance correct, mais j'obtiens la sortie "NaN" pour n'importe quelle entrée que je donne.Solveur quadratique donnant une sortie NaN
import javax.swing.JOptionPane;
import static java.lang.Math.sqrt;
public class FunTest
{
public static void main(String[] args)
{
String number1=JOptionPane.showInputDialog("Enter A");
int a=Integer.parseInt(number1);
String number2=JOptionPane.showInputDialog("Enter B.");
int b=Integer.parseInt(number2);
String number3=JOptionPane.showInputDialog("Enter C.");
int c=Integer.parseInt(number3);
double discriminantsquared=((b^2)-(4*a*c));
double discriminant=Math.sqrt(discriminantsquared);
double x1=(((b*-1)+discriminant)/(2*a));
double x2=(((b*-1)-discriminant)/(2*a));
String output=("x1= "+x1+"\n"+"x2= "+x2);
JOptionPane.showMessageDialog(null, output);
}
}
* Je ne suis pas sûr que mon code soit correct à distance *. Alors pourquoi seriez-vous surpris par une sortie? Et quelle est votre question exactement? – shmosel
Avez-vous parcouru le code dans votre débogueur IDE? S'il vous plaît faites au moins cela avant de demander ici afin que vous puissiez au moins localiser le problème. –
Vous dites que vous êtes novice en Java, mais peut-être avez-vous déjà travaillé dans d'autres langues? Sachez que l'opérateur "power" est celui qui change de langue en langue. Certaines langues utilisent '^', certaines langues utilisent '**' et Java n'a pas d'opérateur. – ajb