文章目录[隐藏]
计算y=1+1/x+1/x*x+1/x*x*x+1/x*x*x*x...的值,(x>1),直到最后一项小于0.0001为止
先定义xy和后面作为分母a和1/a的结果b
double x,y=1.0,a=1,b;
定义用户输入,用个无线循环加if判断用户输入的值,如果大于1就结束循环,如果小于1就重新输入
Scanner input=new Scanner(System.in);
System.out.println("请输入x的值(x>1):");
for (;;) {
x=input.nextDouble();
if (x>1) {
break;
}
System.out.println("输入错误请重新输入大于1的值");
}
System.out.println("x="+x);
先定义个i=1然后在写个无线循环
for (double i = 1.0f;; i++) {
}
给a,b,y赋值进行运算
a=a*x;
b=1.0/a;
y=y+b;
最后进行判断,最后一项小于0.0001,然后退出程序
if (b<0.0001) {
System.out.println(y);
break;
}
总结
//定义xy
double x,y=1.0,a=1,b;
//定义用户输入,用个死循环加if判断用户输入的值,如果大于1就结束循环,如果小于1就重新输入
Scanner input=new Scanner(System.in);
System.out.println("请输入x的值(x>1):");
for (;;) {
x=input.nextDouble();
if (x>1) {
break;
}
System.out.println("输入错误请重新输入大于1的值");
}
System.out.println("x="+x);
//先定义个i=1然后在写个无线循环
for (double i = 1.0f;; i++) {
a=a*x;
b=1.0/a;
y=y+b;
if (b<0.0001) {
System.out.println(y);
break;
}
}
没有回复内容