编写程序,要求用户从键盘输入a、b和c的值,计算下列表达式的值。 例如: 2 100 50 方程的一个根是:-0.5051025721682194
时间: 2024-09-15 22:09:04 浏览: 81
sthg.rar_计算表达式值
要编写一个Java程序,让用户输入a、b和c的值,并计算二次方程(ax^2 + bx + c = 0)的解,我们可以使用求根公式。根据您的例子,这看起来像是一个一元二次方程,但通常情况下我们需要两个解(若判别式大于0)。对于一个简单的求一个解的情况,我们可以直接使用以下代码:
```java
import java.util.Scanner;
public class QuadraticFormula {
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 = Math.pow(b, 2) - 4 * a * c;
if (discriminant < 0) {
System.out.println("这个方程没有实数根");
} else if (discriminant == 0) { // 重根
double root = -b / (2 * a);
System.out.println("方程的一个根是:" + root);
} else { // 双重根或不同根
double realRoot1 = (-b - Math.sqrt(discriminant)) / (2 * a);
System.out.println("方程的两个根是:" + realRoot1 + " 和 " + realRoot2);
}
scanner.close();
}
}
```
在这个程序中,我们首先获取用户的输入,然后检查判别式 `b^2 - 4ac` 的符号。如果判别式小于0,则方程无实数根;等于0时有一个重根;大于0时有两个不同的实数根。
运行此程序后,按照提示输入相应的系数,程序会计算并输出方程的根。如果需要单个根,只需关注当判别式为零时的部分。
阅读全文