多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Java 程序:查找二次方程式的所有根 > 原文: [https://www.programiz.com/java-programming/examples/quadratic-roots-equation](https://www.programiz.com/java-programming/examples/quadratic-roots-equation) #### 在该程序中,您将学习查找二次方程式的所有根,并使用 Java 中的`format()`打印它们。 二次方程的标准形式为: ```java ax2 + bx + c = 0, where a, b and c are real numbers and a ≠ 0 ``` 术语`b<sup>2</sup>-4ac`被称为二次方程的行列式。 行列式说明了根的性质。 * 如果行列式大于 0,则根是实数且不同。 * 如果行列式等于 0,则根是实数且相等。 * 如果行列式小于 0,则根是复数且不同。 * * * ## 示例:查找二次方程式根的 Java 程序 ```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; // condition for real and different roots 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); } // Condition for real and equal roots else if(determinant == 0) { root1 = root2 = -b / (2 * a); System.out.format("root1 = root2 = %.2f;", root1); } // If roots are not real else { double realPart = -b / (2 *a); double imaginaryPart = Math.sqrt(-determinant) / (2 * a); System.out.format("root1 = %.2f+%.2fi and root2 = %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart); } } } ``` 运行该程序时,输出为: ```java root1 = -0.87+1.30i and root2 = -0.87-1.30i ``` * * * 在上述程序中,系数`a`,`b`和`c`分别设置为 2.3、4 和 5.6。 然后,将`determinant`计算为`b^2 - 4ac`。 根据行列式的值,根的计算公式如上式所示。 注意,我们已经使用库函数`Math.sqrt()`计算数字的平方根。 使用 Java 中的`format()`函数将计算出的根(实数根或复数根)打印在屏幕上。`format()`函数也可以由`printf()`替换为: ```java System.out.printf("root1 = root2 = %.2f;", root1); ```