1、利用Scanner接收键入值。
2、利用牛顿迭代法求解立方根,牛顿迭代求解公式(1)所示,令键入值为y,定义函数
,则本题的迭代公式如(2),直至等式(3)成立停止迭代。
tips: 四舍五入保留1位小数位的做法可以利用String的静态方法format(“%.1f”, x),其中%表示小数点前的位数,1表示保留小数点后1位,f表示转换位float型(找过一下好像没有可以转换为double的)
| (1) | |
| (2) | |
| (3) | |
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
while (input.hasNextDouble()){
double num = input.nextDouble();
double x = 1.0;
for (; Math.abs(Math.pow(x,3)-num)>1e-3; x=x-((Math.pow(x,3)-num)/(3*Math.pow(x,2))));
System.out.println(String.format("%.1f", x));
}
}
} 
京公网安备 11010502036488号