Java实现一元二次方程求解器
Java实现一元二次方程求解器
本篇文章介绍如何使用Java编写程序,求解一元二次方程 ax²+bx+c = 0,并根据判别式判断根的情况。
以下是完整的Java代码:
import java.util.Scanner;
public class QuadraticEquationSolver {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print('请输入系数 a: ');
double a = scanner.nextDouble();
System.out.print('请输入系数 b: ');
double b = scanner.nextDouble();
System.out.print('请输入系数 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.println('方程有两个不同的实根: ' + root1 + ' 和 ' + root2);
} else if (discriminant == 0) {
double root = -b / (2 * a);
System.out.println('方程有一个实根: ' + root);
} else {
System.out.println('方程没有实根,但有复数根。');
}
}
}
代码解释:
- 首先,我们使用
Scanner类从用户获取方程的系数 a、b 和 c。 - 然后,我们计算判别式
b² - 4ac。 - 根据判别式的值,我们确定方程的根的情况:
- 如果判别式大于 0,方程有两个不同的实根,使用公式
(-b ± √(b² - 4ac)) / (2a)计算并输出。 - 如果判别式等于 0,方程有一个实根,使用公式
-b / (2a)计算并输出。 - 如果判别式小于 0,方程没有实根,但有复数根,输出提示信息。
- 如果判别式大于 0,方程有两个不同的实根,使用公式
注意事项:
- 此代码假设用户输入的系数是有效的,没有对用户输入进行错误处理。
- 在实际应用中,应该添加适当的验证和错误处理来确保输入的有效性。
希望这个代码示例能够帮助您理解如何在 Java 中求解一元二次方程。
原文地址: https://www.cveoy.top/t/topic/SVk 著作权归作者所有。请勿转载和采集!