在另一个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

10-05 23:51