java数据计算问题,结果出错

doubley;y=1+(1/(1+(1/(1+(1/5)))));System.out.print(y);为什么最终结果总是1.0啊请问?谢谢。... double y;
y=1+(1/(1+(1/(1+(1/5)))));
System.out.print(y);
为什么最终结果总是1.0啊请问?谢谢。
展开
 我来答
紫薇参星
科技发烧友

2017-09-02 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3591万
展开全部

因为在Java语言中,整数除以整数默认情况下得到的是整数(也就是默认情况下是向下取整的)

所以1/5=0  y=1+(1/(1+(1/(1+0))));  y=1+(1/(1+1)); y=1+1/2; y=1+0; y=1;

解决方法是把每个被除数1都变成double类型的1.0,具体程序如下

         double y;
         y=1+(1.0/(1+(1.0/(1+(1.0/5)))));
         System.out.print(y);

这样,就是double类型的1.0除以整数,结果就是double类型的小数了.

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式