二次求解器给出输出NaN

时间:2017-08-31 05:35:46

标签: java quadratic

我对java非常陌生,我被要求为学校的课程编写二次方程求解器。我不确定我的代码是否远程正确,但我得到的输出" 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);
    }
}

1 个答案:

答案 0 :(得分:4)

ispunct不是“b为2的力量”,而是“b xored 2”。对于电源,您可以使用Math.pow(b, 2),或只使用b^2