平方取中法 Java 代码
时间: 2024-11-01 17:06:09 浏览: 7
平方取中法是一种用于求解一元二次方程近似根的经典算法,特别适用于实数范围内的一次和二次多项式。在Java中,你可以通过迭代的方式来实现这个算法,比如下面是一个简单的示例:
```java
public class SquareRootApproximation {
public static double squareRoot(double a) {
if (a < 0) {
throw new IllegalArgumentException("Input must be non-negative");
}
// 初始猜测值设置为x
double x = a;
// 中间点y,通常初始为a / 2
double y = a / 2;
// 迭代直到满足精度要求
while (Math.abs(x - y) > 0.00001) { // 可以调整这个阈值,代表你的精度需求
// 更新中间点
y = (x + a / x) / 2;
// 更新猜测值
x = y;
}
return y; // 返回最终的平方根近似值
}
public static void main(String[] args) {
double number = 16;
try {
double sqrt = squareRoot(number);
System.out.printf("Square root of %.2f is approximately %.2f\n", number, sqrt);
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}
```
在这个例子中,我们首先检查输入是否非负,然后初始化两个变量`x`和`y`作为初始估计值和中间值。接着在一个循环中不断更新这两个值,直到它们之间的差异小于预设的精度。最后返回`y`作为近似的平方根。
阅读全文