English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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 imagPart = 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를 b로 계산합니다2 - 4ac。

행렬의 값에 따라 위의 방정식을 사용하여 루트를 계산합니다. 주의하십시오, 우리는 라이브러리 함수를 사용했습니다.Math.sqrt()숫자의 제곱근을 계산하려면.

Java에서 format() 함수를 사용하여 계산된 루트(실수 루트 또는 복소수 루트)를 화면에 출력하십시오. format() 함수는 printf()로 대체할 수 있습니다:

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

Java 예제 모든 것