早教吧作业答案频道 -->其他-->
java中返回类型为double()的方法体定义为return3.14*r*r,结果却得到了32.15360095825196半径为3.2f,面积和周长得到多余的精度,但是半径为5.5f,这是为什么-------------------------------------------------------
题目详情
java中返回类型为 double( )的方法体定义为 return 3.14*r*r,结果却得到了32.15360095825196
半径为3.2f,面积和周长得到多余的精度,但是半径为5.5f,这是为什么
-------------------------------------------------------------
import java.math.*;
public class Circle
{
\x05private float r;
\x05Circle()
\x05{
\x05}
\x05Circle (float x)
\x05\x05{
\x05\x05r=x;
\x05\x05}
\x05public void set_value(float x)
\x05{
\x05\x05r=x;
\x05}
\x05public double mj()
\x05\x05{
\x05\x05return(3.14*r*r);
\x05\x05}
public double zc()
{
\x05 double y;
y=2*3.14*r;
return(y);
}
public static void main(String args[])
{ Circle ex1=new Circle();
ex1.set_value(3.2f);
System.out.println("面积="+ex1.mj()+"周长="+ex1.zc());
Circle ex2=new Circle(5.5f);
System.out.println("面积="+ex2.mj()+"周长="+ex2.zc());
}
}
-------------------------------------------------------------------------------
---------- java ----------
面积=32.15360095825196周长=20.096000299453735
面积=94.985周长=34.54
输出完成 (耗时 0 秒) - 正常终止
半径为3.2f,面积和周长得到多余的精度,但是半径为5.5f,这是为什么
-------------------------------------------------------------
import java.math.*;
public class Circle
{
\x05private float r;
\x05Circle()
\x05{
\x05}
\x05Circle (float x)
\x05\x05{
\x05\x05r=x;
\x05\x05}
\x05public void set_value(float x)
\x05{
\x05\x05r=x;
\x05}
\x05public double mj()
\x05\x05{
\x05\x05return(3.14*r*r);
\x05\x05}
public double zc()
{
\x05 double y;
y=2*3.14*r;
return(y);
}
public static void main(String args[])
{ Circle ex1=new Circle();
ex1.set_value(3.2f);
System.out.println("面积="+ex1.mj()+"周长="+ex1.zc());
Circle ex2=new Circle(5.5f);
System.out.println("面积="+ex2.mj()+"周长="+ex2.zc());
}
}
-------------------------------------------------------------------------------
---------- java ----------
面积=32.15360095825196周长=20.096000299453735
面积=94.985周长=34.54
输出完成 (耗时 0 秒) - 正常终止
▼优质解答
答案和解析
二进制的精度问题,你可以试下System.out.println(1-0.9);是多少……
看了 java中返回类型为doub...的网友还看了以下:
1.求圆的周长1)r=3.52)d=2.82.求圆的直径1)r=1.22)r=6.53)c=6.2 2020-04-12 …
一下matlab程序错在哪clear allclclamada=0.3;theta=0.7;m=0 2020-05-16 …
定义域为R的函数f(x),满足f(0)=1,f′(x)<f(x)+1,则不等式f(x)+1<2ex 2020-05-17 …
A.πA,D(σC=D(R×S))B.πA,R.D(σR.C=S.D(R×S))C.πA,R.D(σ 2020-05-26 …
A.πA,D(σC=D(R×S))B.πA,R.D(σS.C=R.D(R×S))C.πA,R.D(σ 2020-05-26 …
定义域为R的函数f(x),满足f(0)=1,f′(x)<f(x)+1,则不等式f(x)+1<2ex 2020-06-25 …
数据库中σ这个符号是什么意思啊设有关系R(A,B,C)和关系S(B,C,D),那么与R⋈S等价的关 2020-07-10 …
下列各选项中的M与P表示同一个集合的是()A.M={x∈R|x2+0.01=0},P={x|x2=0 2020-10-31 …
r=p*(u-1)+(1-p)*(d-1)怎么推导到下面公式p=1+r-d/u-d1-p=u-1-r 2020-10-31 …
积分的问题∫∫e^(x^2+y^2)∫∫e^(x^2+y^2)=∫(0,π/2)dθ∫(0,R)re 2020-10-31 …