编写程序,要求用户从键盘输入a、b和c的值,计算下列表达式的值。 例如: 2 100 50 方程的一个根是:-0.5051025721682194 换另一种方法
时间: 2024-09-15 16:09:07 浏览: 64
sthg.rar_计算表达式值
要编写一个Java程序,让用户输入a、b和c的值并计算一元二次方程(一般形式为ax^2 + bx + c = 0)的解,我们可以使用公式:
```
x = [-b ± sqrt(b^2 - 4ac)] / (2a)
```
首先,我们需要获取用户输入的系数a、b和c,然后检查判别式`b^2 - 4ac`是否大于等于0(否则方程没有实数解)。接着,我们计算两个可能的根。以下是一个简单的Java程序示例:
```java
import java.util.Scanner;
public class QuadraticEquationSolver {
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 = 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.format("方程的一组解是: x1 = %.2f, x2 = %.2f", root1, root2);
} else {
// 方程无实数解
System.out.println("方程没有实数根");
}
scanner.close();
}
}
```
在这个程序中,我们使用了`Scanner`类从标准输入读取用户的输入,然后计算并打印出方程的根。如果判别式小于0,则表示根是复数,但根据题目描述,这里只考虑实数解。
阅读全文