本关任务:变量a、b、c分别为方程ax 2 +bx+c=0中a、b、c的值,求解该一元二次方程的值,将该值四舍五入后保留两位小数后输出。java
时间: 2024-09-21 18:08:30 浏览: 36
在Java中,你可以使用`Math.pow()`函数计算平方项,然后通过`Math.sqrt()`找到根的可能值。如果方程有两个实数根,通常需要使用`Math.abs()`确保结果的正负。下面是一个简单的示例程序:
```java
public class QuadraticEquation {
public static void main(String[] args) {
double a = 1.0; // 代入方程系数 a
double b = -3.0; // 代入系数 b
double c = 2.0; // 代入常数项 c
// 计算判别式
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.printf("Root 1: %.2f\n", Math.round(root1*100)/100.0);
System.out.printf("Root 2: %.2f\n", Math.round(root2*100)/100.0);
} else if (discriminant == 0) { // 单一实根
double root = -b / (2 * a);
System.out.printf("Root: %.2f\n", Math.round(root*100)/100.0);
} else { // 无实根,复数根
double realPart = -b / (2 * a);
double imaginaryPart = Math.sqrt(-discriminant) / (2 * a);
System.out.println("The roots are complex and not displayed here.");
}
}
}
```
这个程序首先计算了判别式来确定根的情况,然后根据情况分别处理单根、双根或复数根,并使用`Math.round()`函数对结果进行四舍五入到两位小数。
阅读全文