用Java编程求一元二次方程的根:设计一个类Equation, 通过构造函数输入三个整系数,然后成员函数findRoot()求出方程的根并打印出来。类的建模如下: 其中方程的系数为整数,求出的根可以是实数。 x=(-b±√(b^2-4ac))/2a
时间: 2024-09-28 22:05:12 浏览: 85
在Java中,我们可以创建一个名为`Equation`的类,用于处理一元二次方程的计算。首先,我们需要定义一个构造函数接受三个整数作为系数a、b和c。接着,我们可以在类中添加一个成员方法`findRoot()`,利用公式`(-b ± √(b² - 4ac)) / (2a)`来计算根,并使用`Math.sqrt()`函数来获取平方根。如果结果是复数(即判别式小于0),需要特别处理。
下面是`Equation`类的一个简单实现:
```java
import java.util.*;
public class Equation {
private int a;
private int b;
private int c;
// 构造函数接收方程的系数
public Equation(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
// 成员方法 findRoot() 计算并打印方程的根
public void findRoot() {
double discriminant = Math.pow(b, 2) - 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 {
double realPart = -b / (2 * a);
double imaginaryPart = Math.sqrt(-discriminant) / (2 * a);
System.out.println("方程有两虚数根: " + realPart + " + " + imaginaryPart + "i 和 "
+ realPart + " - " + imaginaryPart + "i");
}
}
// 主方法供测试
public static void main(String[] args) {
Equation eq = new Equation(1, -5, 6); // 示例:x² - 5x + 6 = 0
eq.findRoot();
}
}
```
阅读全文