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啊请问?谢谢。 展开
y=1+(1/(1+(1/(1+(1/5)))));
System.out.print(y);
为什么最终结果总是1.0啊请问?谢谢。 展开
1个回答
展开全部
因为在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类型的小数了.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询