用二分法来一波.....使用double进行赋值
public static void main(String[] args) {
System.out.println(mySqrt(8));
}
public static double mySqrt(int num) {
double left = 0;
double right = num;
while (left < right) {
double middle = (left + right) / 2.0;
if (Math.abs(middle * middle - num) <= 0.000001) {
return middle;
}
if (middle * middle < num ) {
left = middle;
right = num / middle;
} else if (middle * middle > num ) {
right = middle;
left = num / middle;
}
}
return left;
}