用Java语言编写一个求一元二次方程的求解程序program1。 一元二次方程的系数取-10到10之间的整数。 (2)画出程序program1的控制流图
时间: 2024-10-13 08:10:19 浏览: 66
在Java中,我们可以创建一个名为`Program1`的类来计算一元二次方程的根。这里是一个简单的示例:
```java
public class Program1 {
// 定义方法来计算一元二次方程的解
public static double[] solveQuadraticEquation(double a, double b, double c) {
double delta = Math.pow(b, 2) - (4 * a * c);
if (delta < 0) { // 根不存在的情况
return new double[0];
} else if (delta == 0) { // 只有一个实根
double root = -b / (2 * a);
return new double[]{root};
} else { // 有两个实根
double root1 = (-b + Math.sqrt(delta)) / (2 * a);
double root2 = (-b - Math.sqrt(delta)) / (2 * a);
return new double[]{root1, root2};
}
}
public static void main(String[] args) {
int aRange = 10;
for (int a = -aRange; a <= aRange; a++) {
for (int b = -aRange; b <= aRange; b++) {
for (int c = -aRange; c <= aRange; c++) {
if (a != 0 && isCoefficientValid(a, b, c)) {
double[] roots = solveQuadraticEquation(a, b, c);
System.out.printf("For equation ax^2 + bx + c = 0, roots are: %.2f and %.2f%n", roots[0], roots[1]);
}
}
}
}
}
private static boolean isCoefficientValid(double a, double b, double c) {
return a != 0 && Double.isFinite(a) && Double.isFinite(b) && Double.isFinite(c);
}
}
```
这个程序首先定义了一个`solveQuadraticEquation`方法,它接收三个系数并计算根。接着,在`main`方法中,我们遍历了从-10到10的所有整数组合,检查是否构成有效的二次方程,并计算其根。
控制流图展示了程序的主要流程:
1. `main`函数开始执行。
2. 循环遍历a、b、c的值。
3. 检查系数有效性。
4. 如果有效,调用`solveQuadraticEquation`并打印结果。
5. 所有循环结束后,程序结束。
阅读全文