本帖最后由 莫若吻 于 2014-4-26 09:27 编辑
练习题:定义一个类MathDemo,类的内部重载round方法,分别实现对单精度,双精度类型数据进行四舍五入的功能,要处理的实型数据作为参数,方法体最后将得到的结果返回
在main方法中定义float与double类型变量,分别赋初值,创建mathDemo类的对象,调用round()方法,将结果显示在屏幕上。
下面的代码是我自己整理的。有些太过繁琐了,不知道谁有更简单的方法。最好可以将四舍五入的方法过程显示出来,而不是直接调用系统的……
class MathDemo{
public static int round(float x){
int y=(int)x;
float a=x-y; //a为整数的小数部分
if(x>=0)
{
if(a>0.5)
return y+1;
else
return y;
}else
{
if(a>0.5)
return y-1;
else
return y;
}
}
public static int round(double x){
int y=(int)x;
double a=x-y;//a为整数的小数部分
if(x>=0)
{
if(a>0.5)
return y+1;
else
return y;
}else
{
if(a>0.5)
return y-1;
else
return y;
}
}
}
class Test15{
public static void main(String[] args){
float f=2.3f;
double d=19.7;
MathDemo arrays=new MathDemo();
//arrays.round(f);
//arrays.round(d);
System.out.println(f+"四舍五入后的值为"+arrays.round(f));
System.out.println(d+"四舍五入后的值为"+arrays.round(d));
}
}
|