java中求解方程ax2+bx+c=0的根。要求a, b, c由用户输入,并且可以为任意实数。
时间: 2024-02-06 18:10:55 浏览: 84
可以使用公式法来求解二次方程ax^2 + bx + c = 0的根:
x = (-b ± √(b^2 - 4ac)) / 2a
Java代码如下:
```
import java.util.Scanner;
public class QuadraticEquation {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter a, b, c: ");
double a = input.nextDouble();
double b = input.nextDouble();
double c = input.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.println("The equation has two roots " + root1 + " and " + root2);
} else if (discriminant == 0) {
double root = -b / (2 * a);
System.out.println("The equation has one root " + root);
} else {
System.out.println("The equation has no real roots");
}
}
}
```
在上述代码中,我们使用了`Scanner`类来读取用户输入的`a`、`b`、`c`三个实数。然后,我们计算判别式`discriminant = b^2 - 4ac`的值。
根据判别式的值,我们可以判断方程的根的情况:
- 如果判别式大于0,则方程有两个不相等的实数根;
- 如果判别式等于0,则方程有一个实数根;
- 如果判别式小于0,则方程没有实数根。
根据上述判断结果,我们输出方程的根。
阅读全文