首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

是强转的有关问题吗

2012-03-26 
是强转的问题吗?public class Pad {private int aprivate int bpublic Pad(int a,int b) {this.a ath

是强转的问题吗?
public class Pad {

private int a;
private int b;

public Pad(int a,int b) {
this.a = a;
this.b = b;

}
public int sum(){

return a+b;
}
public int sub(){
return a-b;
}
public int mul(){
return a*b;
}
public double div(){
return a/b;
}
public static void main(String[] args) {
Pad h1=new Pad(10,4);
h1.sum();
h1.sub();
h1.mul();
h1.div();

System.out.println(+h1.sum());
System.out.println(+h1.sub());
System.out.println(+h1.mul());
System.out.println(+h1.div());

上面的程序运行结果
14
6
40
2.0
因为double所以是2.0,为什么不是2.5,怎么能实现结果是2.5,求解

[解决办法]
public double div(){
return a/b;
}
修改为
public double div(){
return 1.0*a/b;
}
[解决办法]
好吧,我太坏了,确实是数据类型的问题,请这样写:
public double div(){
return (double) a/b;
}

整数 ÷ 整数,Java会强制整数运算的,直到最后赋值才按需转为double了。

热点排行