在另一个Bruce Eckels演习中,计算速度v = s / t
,其中s和t是整数。我如何做到这一点,以便该部门提高浮力?
class CalcV {
float v;
float calcV(int s, int t) {
v = s / t;
return v;
} //end calcV
}
public class PassObject {
public static void main (String[] args ) {
int distance;
distance = 4;
int t;
t = 3;
float outV;
CalcV v = new CalcV();
outV = v.calcV(distance, t);
System.out.println("velocity : " + outV);
} //end main
}//end class
最佳答案
只需先将两个操作数之一转换为浮点数即可。
v = (float)s / t;
演员表的优先级高于分区,因此发生在分区之前。
另一个操作数将由编译器自动有效地强制转换为浮点数,因为规则指出,如果另一个操作数为浮点型,则即使另一个操作数是整数,该操作也将是浮点运算。 Java Language Specification, §4.2.4和§15.17