public class t1{
public static void main(String[] args){
double a,b;
a=2.00;
b=a+(double)3/2;
System.out.println(b);
}
}

解决方案 »

  1.   

    java就是这样的,把3/2改成3.0/2或者3/2.0之类的即可
      

  2.   

    3 和 2 都是按作int 处理的 所以他们运算出来的结果也是整形 小数点后的部分就切掉了 java就是这样
    其实 C \C++都是这样
      

  3.   

    同意sunni说法,虽然你的a,b都声明为double了,但是在你的代码中3/2,系统还是遵照int型来处理的,虽然结果为1.5但由于是int型的计算,所以就取值为1了,你可以该成3.0/2,或者3/2.0或者3.0/2.0都是,java会自动转换类型的.谢谢.
      

  4.   

    同意outer2000的说发用double将3/2进行转换即可