publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
System.out.println("请输入初始值");
n=sc.nextDouble();
System.out.println("请输入精确取值范围");
$=sc.nextDouble();
System.out.println("请输入迭代限制次数");
intlimite=sc.nextInt();
doublef=0;
intkey=0;
do{
System.out.println("请输入你的选择");
System.out.println("(1)m=n*n*n*n+2*n*n-3;");
System.out.println("(2)m=Math.pow(Math.pow(n+4,0.5)-1,0.5);");
System.out.println("(3)m=Math.pow(3+n-2*n*n,0.25);");
key=sc.nextInt();
}while(key!=1&&key!=2&&key!=3);
for(inti=1;i<=limite+1;i++){
switch(key){
case1:m=n*n*n*n+2*n*n-3;break;
case2:m=Math.pow(Math.pow(n+4,0.5)-1,0.5);break;
case3:m=Math.pow(3+n-2*n*n,0.25);break;
}
E=Math.abs(m-n);
if(E>e&&i>1){
System.out.println("迭代不收敛");
System.out.println("迭代失败");
break;
}
else{
if(Math.abs(m)<=1){
E=Math.abs(m-n);
}
else{
E=Math.abs(m-n)/Math.abs(m);
}
e=E;
}
if(E<$){
System.out.println("迭代成功");
System.out.println("X["+(i-1)+"]="+n);
System.out.println("迭代次数="+i);
f=Math.pow(n,4)+2*Math.pow(n,2)+n-3;
System.out.println("函数值="+f);