编写一个程序,从键盘读入一元二次方程ax2 + bx + c = 0的系数a,b,c,计算输出其两个根。提示:开方(Math.sqrt(bb-4a*c))
时间: 2024-11-04 14:14:59 浏览: 33
编写一个简单的Java程序来解决这个问题,首先需要导入`java.util.Scanner`以便从用户那里获取输入,并使用`Math.sqrt()`函数来计算平方根。这里是一个基本的示例:
```java
import java.util.Scanner;
public class QuadraticEquation {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一元二次方程的系数a:");
double a = scanner.nextDouble();
System.out.println("请输入b的值:");
double b = scanner.nextDouble();
System.out.println("请输入c的值:");
double c = scanner.nextDouble();
// 计算判别式
double discriminant = b * b - 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.println("方程有唯一实数根: %.2f", root);
} else {
// 无实数根,只有复数解
double realPart = -b / (2 * a);
double imaginaryPart = Math.sqrt(-discriminant) / (2 * a);
System.out.println("方程有两个共轭复数根: %.2f + %.2fi 和 %.2f - %.2fi",
realPart, imaginaryPart, realPart, imaginaryPart);
}
scanner.close();
}
}
```
当你运行这个程序并输入一元二次方程的系数a、b和c时,它会计算并输出相应的根。如果需要帮助或有任何疑问,请告诉我
阅读全文