java - 我不明白 Java 上的这个算术

标签 java math

当我输入以下内容时,我正在做一个 java 教程:

int a = 3;
int b = 4;
int c = 5;
int d = -a*b/c*a;
System.out.println(d);

输出为-6 。但是,当我使用计算器时,我得到 -36/5基于从左到右的优先规则。有人可以解释一下为什么会有不同的答案吗?

最佳答案

用 double 再试一次:

double a = 3;
double b = 4;
double c = 5;
double d = -a*b/c*a;
System.out.println(d);

问题是除法会将结果转换为 int

关于java - 我不明白 Java 上的这个算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46766210/

相关文章:

java - 读取 pem 格式的公钥时出错

javascript - 如何使用此 js svg 解析器将 svg 文件或元素中路径的小数位更改为 n 位小数?

Java 和 Tomcat org.json java.lang.ClassNotFoundException

java - 如何覆盖 Wicket 口中特定页面的渲染策略

math - 编译器如何使用晶格

math - 如何将凸多边形分解为在 X 轴和 Y 轴上对齐的直角三角形?

java - 计算最小值和最大值并四舍五入到近值

bash - 在 bash 中解决一个(简单的)数字练习

java - 使用 Hadoop Streaming 时通过脚本运行 Java 应用程序 : java. lang.NoClassDefFoundError

java - 如何使用 Java 从线路输入端口录制声音