二次方程式Java?

时间:2013-01-31 18:20:41

标签: formula quadratic

我正在编写一个程序,它从方程式中获取a,b和c,并使用它们使用公式查找x: http://www.purplemath.com/modules/quads/qform01.gif

我得到的问题是,当我插入等式1x ^ 2 + 3x +4时,我得到x = -Infinity而x =无穷大而不是x = 1且x = -4。

继承我的代码:

第1课:

    public class quadratictest
    {
        public static void main(String args[])
        {
            DecimalFormat df = new DecimalFormat("#.###");
            System.out.println("--------------------------------------------------");
            System.out.println("               ~Quadratic Formula~");
            System.out.println("--------------------------------------------------");
            System.out.println("in a polynomial, there are 3 important numbers used");
            System.out.println("to figure out x. they are a, b, and c, shown below.\n");
            System.out.println("\t\t1x^2 +3x +4");
            System.out.println("\t\t^     ^   ^");
            System.out.println("\t\ta     b   c");
    Scanner input = new Scanner(System.in);
           System.out.print("\nPlease type a, b, and c here[a b c]: ");
            int a = input.nextInt();
            int b = input.nextInt();
            int c = input.nextInt();
            mathey quad = new quadsong(a,b,c);
        System.out.println("------------");
        System.out.println(quad.solveb());
        System.out.println(quad.solvea());
        //System.out.println("x =" +df.format(quad.solvea()));
        //System.out.println("x =" +df.format(quad.solveb()));
        System.out.println("------------");
    }
}

第2课:

    import java.util.*;
    import java.io.*;
    import java.text.DecimalFormat;
            /**
     * Write a description of class quadsong here.
     * 
     * @author (your name) 
     * @version (a version number or a date)
     */
    public class mathey
    {
        int a;int b;int c;
        double solution1;
        double solution2;
          public mathey(int aN, int bN, int cN)
        {
            int a  = aN;
            int b = bN;
            int c = cN;
            solvea();
            solveb();
        }
        public double solvea()
        {
         solution1 = ( (b*-1) + Math.sqrt((b^2)-(4*a*c)))/(a+a);
          if (solution1 == Math.floor(solution1))
         {
         return solution1;
        }
        else
        {
            return 0;
        }
        }
            public double solveb()
        {
         solution2 = ( (b*-1) - Math.sqrt((b^2)-(4*a*c)))/(2*a);
         if (solution2 == Math.floor(solution2))
         {
         return solution2;
        }
        else
        {
            return 0;
        }
        }
    }

继承我的输出:

    --------------------------------------------------
                   ~Quadratic Formula~
    --------------------------------------------------
    in a polynomial, there are 3 important numbers used
    to figure out x. they are a, b, and c, shown below.

            1x^2 +3x +4
            ^     ^   ^
            a     b   c

    Please type a, b, and c here[a b c]: 1 3 4
    ------------
    x =Infinity
    x =-Infinity
    ------------

出了什么问题?提前致谢! P.S对不起代码格式,idk为什么它不能像我想要的那样工作哈哈

1 个答案:

答案 0 :(得分:1)

你在这里遇到的问题是:1x ^ 2 + 3x + 4没有根。这比其他任何事情更像是数学错误。