Java:将一元二次方程解法封装入包,主类引入调用全流程
好的,下面是一个完整的示例,展示了如何使用 `package` 语句将一元二次方程的解法封装在一个类中,并在另一个主类中通过 `import` 语句引入并使用这个类。 Step 1: 创建 `squareequation` 类 首先,创建一个名为 `squareequation.java` 的文件,并将其放在 `tom/jiafei` 目录下。这个类将包含计算一元二次方程根的方法。 ```java // 文件路径: src/tom/jiafei/squareequation.java package tom.jiafei; public class SquareEquation { private double a; private double b; private double c; public SquareEquation(double a, double b, double c) { this.a = a; this.b = b; this.c = c; } public double[] solve() { double discriminant = b * b - 4 * a * c; if (discriminant < 0) { return new double[] {}; // 无实数根 } else if (discriminant == 0) { double root = -b / (2 * a); return new double[] { root }; // 一个实数根 } else { double root1 = (-b + Math.sqrt(discriminant)) / (2 * a); double root2 = (-b - Math.sqrt(discriminant)) / (2 * a); return new double[] { root1, root2 }; // 两个实数根 } } } ``` Step 2: 创建 `sunrise` 主类 接下来,创建一个名为 `sunrise.java` 的文件。这个类将使用 `import` 语句引入 `tom.jiafei` 包中的 `SquareEquation` 类,并调用其方法来解决一元二次方程。 ```java // 文件路径: src/sunrise.java import tom.jiafei.SquareEquation; public class Sunrise { public static void main(String[] args) { // 创建一个一元二次方程对象 SquareEquation equation = new SquareEquation(1, -3, 2); // 解方程 double[] roots = equation.solve(); // 输出结果 if (roots.length == 0) { System.out.println("方程无实数根"); } else if (roots.length == 1) { System.out.println("方程有一个实数根: " + roots[0]); } else { System.out.println("方程有两个实数根: " + roots[0] + " 和 " + roots[1]); } } } ``` Step 3: 编译和运行 确保你的项目结构如下: ``` src/ ├── tom/ │ └── jiafei/ │ └── squareequation.java └── sunrise.java ``` 然后在命令行中导航到 `src` 目录,并编译和运行程序: ```sh javac -d . tom/jiafei/squareequation.java javac -d . sunrise.java java sunrise ``` 如果一切顺利,你应该会看到输出结果,显示一元二次方程的根。例如,对于方程 \(x^2 - 3x + 2 = 0\),输出应该是: ``` 方程有两个实数根: 2.0 和 1.0 ``` 这样,你就成功地将一元二次方程的解法封装在一个类中,并在另一个主类中使用了这个类。 ######[AI写代码神器 | 783点数解答 | 2024-10-31 16:46:54]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)436
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)335
- 达梦数据库数据溢出问题排查及多维度解决方法(阿里通义 | 403点数解答 | 2024-10-15 15:48:41)1229
- Java 实现计算所需最少钱币张数和个数(字节豆包 | 590点数解答 | 2026-03-05 21:44:59)28
- 工程师必知!Monkey 流程助力软件稳定性与可靠性提升(百度文心 | 388点数解答 | 2023-11-09 18:28:07)300
- 工程师揭秘:重要 APP 从需求到上线全流程攻略(百度文心 | 334点数解答 | 2023-11-09 18:31:47)302
- Echarts 纵向柱状图代码示例及优化、逻辑注意要点揭秘(字节豆包 | 162点数解答 | 2025-03-03 15:07:11)246
- Python代码:Flask结合数据库与饮食口味映射开发 (字节豆包 | 33点数解答 | 2025-05-12 22:13:16)163
- "Java Code: Uncovering Stock Statistics through CSV File Reading"(字节豆包 | 66点数解答 | 2024-11-13 15:31:04)345
- Linux 开发:揭秘调用 schedule() 实现进程切换的四大常见方式! (百度文心 | 309点数解答 | 2023-11-09 18:41:19)538
- Java 硬币翻转问题:从错误代码到优化求解及开发注意要点(DeepSeek | 350点数解答 | 2025-10-24 15:10:59)99
- 统计数字出现频率最高的次数的C++代码实现(字节豆包 | 447点数解答 | 2026-04-11 19:50:33)16