java - 如何使 2 个整数相除产生一个 float 而不是另一个整数?

标签 java

在 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

最佳答案

首先将两个操作数之一转换为 float 。

v = (float)s / t;

Actor 阵容更高precedence比除法更重要,所以发生在除法之前。

另一个操作数将被编译器有效地自动转换为浮点型,因为规则规定,如果任一操作数是浮点类型,则即使另一个操作数是整数,该操作也将是浮点操作。 Java Language Specification, §4.2.4§15.17

关于java - 如何使 2 个整数相除产生一个 float 而不是另一个整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45235055/

相关文章:

java - 应用程序在请求用户读写权限时关闭

java - 从 SSLSocket 读取最快或最好的方法

java - 下载管理器 getFilesDir()

java - LWUIT标签: Using image as a label

java - 解析 POST 查询中收到的字符串参数

java - 底部表格不适用于谷歌地图

java - java中的正则表达式模式匹配

java - Spring Integration AMQP - 响应上的 JSON 类型错误

java - 二维码扫描仪无法在 android 6.0.1 中运行(显示白屏)

java - 为什么Erlang中没有中间件?