写一个Java程序,输入三个实数做一元二次方程的系数,求方程的根
时间: 2024-10-23 19:13:48 浏览: 12
当然可以,下面是一个简单的Java程序,用于计算给定一元二次方程的根,假设方程的通式是 `ax^2 + bx + c = 0`:
```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的值,然后我们检查判别式的正负来确定根的情况并打印结果。
阅读全文