编写一个 Java程序,从键盘输入一元二次方程的 3 个系数 a ,b 和 c ,输出这个方程的解。
时间: 2024-10-07 21:04:42 浏览: 54
编写一个Java程序,可以按照以下步骤完成:
```java
import java.util.Scanner;
public class QuadraticEquation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 输入一元二次方程的系数
System.out.println("请输入一元二次方程的三个系数 a, b, c:");
double a = scanner.nextDouble();
double b = scanner.nextDouble();
double c = scanner.nextDouble();
// 计算判别式
double discriminant = Math.pow(b, 2) - 4 * a * c;
if (discriminant > 0) {
// 两个实根
double root1 = (-b + Math.sqrt(discriminant)) / (2 * a);
double root2 = (-b - Math.sqrt(discriminant)) / (2 * a);
System.out.printf("方程有两个实数根: %.2f 和 %.2f\n", root1, root2);
} else if (discriminant == 0) {
// 双重根
double root = -b / (2 * a);
System.out.printf("方程有一个实数根: %.2f\n", root);
} else {
// 复数根
double realPart = -b / (2 * a);
double imaginaryPart = Math.sqrt(-discriminant) / (2 * a);
System.out.printf("方程有两个复数根: %.2f + %.2fi 和 %.2f - %.2fi\n",
realPart, imaginaryPart, realPart, imaginaryPart);
}
scanner.close();
}
}
```
在这个程序中,我们首先获取用户输入的一元二次方程的系数a、b和c。然后计算判别式来判断方程的根的情况。如果判别式大于零,有两实根;等于零,有一重根;小于零,则为一对共轭复数根。最后,根据情况输出解。
阅读全文