java 差的绝对值_java 绝对值问题

/**输入一个正整数repeat(0

/*

* 输入一个正整数repeat (0

读入1 个正实数eps,计算并输出1-1/3+1/5-1/7+……,

直到最后一项的绝对值小于eps为止(要求每一项的绝对值均大于等于eps,并以float类型输出数据)。

例:括号内是说明

输入

2 (repeat=2)

1E-4

0.1

输出

0.7853482

0.83492064

*/

importjava.util.Scanner;

publicclass Test40006 {

public static void main(String[] args){

int ri, repeat;

int temp, flag; //temp变量干什么用?

int i; //自己加上的变量

double eps, item, sum;

Scanner in=new Scanner(System.in);

repeat=in.nextInt();

for(ri=1; ri<=repeat; ri++){

eps=in.nextDouble();

/*--------------------*/

sum=0;

item=1.0;

flag=-1;

i=1;

while(Math.abs(item)>=eps)

{

sum=sum+item;

item=(double)flag/(2*i+1);

flag=-flag;

i++;

}

System.out.println((float)sum);

}

}

}

例子中的 while(Math.abs(item)>=eps) 知道Math.abs(x)是取x的绝对值的,item是1.0就是说Math.abs(item)>=eps 就等于1.0>=eps,这是不是就是说eps只有比1.0大就可以进入while循环内啊??

说白了 这个例子中取item的绝对值有什么意思?是想实现什么?如果我输入eps=3 那么while(Math.abs(item)>=eps) item也不可能大于等于3啊??

展开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值