import javax.swing.JOptionPane;
/**
* 平方根的近似求法:
* 公式:
* nextGuess = (lastGuess+(nummber/lastGuess))/2;
* 当nextGuess 和 lastGuess几乎相等的时候,那么这个nextGuess就是平方根的近似值;
*/
public class Exercise5_22 {
public static void main(String[] args) {
int number = Integer.valueOf(JOptionPane.showInputDialog("请输入一个数number:"));
double d = getNum(number);
//调用自己写的方法输出平方根
JOptionPane.showMessageDialog(null, d);
//调用Matn类下的求平方根的方法
System.out.println(Math.sqrt(number));
}
//公式的计算:
public static double getNum(int num){
double lastGuess;
double nextGuess;
for(double i = num /2 ; i >= 1; i-= 0.0001){
lastGuess = i;
nextGuess = (lastGuess + (num / lastGuess)) / 2;
//如果两者相差小于0.0001的时候,就认为这个数是近似的平方根数;
if(lastGuess - nextGuess <= 0.0001){
return nextGuess;
}
}
return -1;
}
}