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('方程没有实根,但有复数根。');
        }
    }
}

代码解释:

  1. 首先,我们使用 Scanner 类从用户获取方程的系数 a、b 和 c。
  2. 然后,我们计算判别式 b² - 4ac
  3. 根据判别式的值,我们确定方程的根的情况:
    • 如果判别式大于 0,方程有两个不同的实根,使用公式 (-b ± √(b² - 4ac)) / (2a) 计算并输出。
    • 如果判别式等于 0,方程有一个实根,使用公式 -b / (2a) 计算并输出。
    • 如果判别式小于 0,方程没有实根,但有复数根,输出提示信息。

注意事项:

  • 此代码假设用户输入的系数是有效的,没有对用户输入进行错误处理。
  • 在实际应用中,应该添加适当的验证和错误处理来确保输入的有效性。

希望这个代码示例能够帮助您理解如何在 Java 中求解一元二次方程。


原文地址: https://www.cveoy.top/t/topic/SVk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录