Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java程序来查找二次方程式的所有根

Java 实例大全

在此程序中,您将学习查找二次方程式的所有根,并使用Java中的format()打印它们。

二次方程的标准形式为:

ax2 + bx + c = 0,其中
a,b和c是实数,
a ≠ 0

该b2-4ac称为二次方程的行列式。行列式说明了根的性质。

  • 如果行列式大于0,则根是实数且不同。

  • 如果行列式等于0,则根是实数且相等。

  • 如果行列式小于0,则根是复数且不同的。

示例:查找二次方程式根的Java程序

public class Quadratic {

    public static void main(String[] args) {

        double a = 2.3, b = 4, c = 5.6;
        double root1, root2;

        double determinant = b * b - 4 * a * c;

        //实数不同根的条件
        if(determinant > 0) {
            root1 = (-b + Math.sqrt(determinant)) / (2 * a);
            root2 = (-b - Math.sqrt(determinant)) / (2 * a);

            System.out.format("root1 = %.2f and root2 = %.2f", root1 , root2);
        }
        //实等根的条件
        else if(determinant == 0) {
            root1 = root2 = -b / (2 * a);

            System.out.format("root1 = root2 = %.2f;", root1);
        }
        //如果根不是实数
        else {
            double realPart = -b / (2 *a);
            double imaginaryPart = Math.sqrt(-determinant) / (2 * a);

            System.out.format("root1 = %.2f+%.2fi 和 root2 = %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart);
        }
    }
}

运行该程序时,输出为:

root1 = -0.87+1.30i 和 root2 = -0.87-1.30i

在上述程序中,所述系数a,b和c分别被设定为2.3,4和5.6。然后,将determinant计算为b2 - 4ac。

根据行列式的值,按上式计算根。注意,我们已经使用库函数Math.sqrt()来计算数字的平方根。

使用Java中的format()函数将计算出的根(实数根或复数根)打印在屏幕上。format()函数也可以替换为printf():

System.out.printf("root1 = root2 = %.2f;", root1);

Java 实例大全