java 小数点累加_Java在简单方程式中重复小数

我正在做一个学校作业,其中我解决了一个涉及圆的坐标的方程(r ^ 2 = x ^ 2 y ^ 2)为r = 1,并且您通过求解y的x值递增.即使只增加十分之一,我也会得到重复的小数.我不知道为什么,并尝试了几种不同的方式.这是代码.

double r = 1;

double rSqr;

double x = 1;

double xSqr;

double y;

double ySqr;

double inc = 0.1;

int count = 0;

while(x > -r)

{

x = r - (count * inc);

rSqr = Math.pow(r, 2);

xSqr = Math.pow(x, 2);

ySqr = rSqr - xSqr;

y = Math.sqrt(ySqr);

count++;

System.out.println(x + " " + y);

}

输出是这个

1.0 0.0

0.9 0.4358898943540673

0.8 0.5999999999999999

0.7 0.714142842854285

0.6 0.8

0.5 0.8660254037844386

0.3999999999999999 0.9165151389911681

0.29999999999999993 0.9539392014169457

0.19999999999999996 0.9797958971132712

0.09999999999999998 0.99498743710662

0.0 1.0

-0.10000000000000009 0.99498743710662

-0.20000000000000018 0.9797958971132712

-0.30000000000000004 0.9539392014169457

-0.40000000000000013 0.9165151389911679

-0.5 0.8660254037844386

-0.6000000000000001 0.7999999999999999

-0.7000000000000002 0.7141428428542849

-0.8 0.5999999999999999

-0.9000000000000001 0.43588989435406705

-1.0 0.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值