为什么这个等式返回零,即使它不应该?

时间:2013-10-02 09:02:41

标签: java equation

所以,我正在用java做一个格斗游戏,我有这个等式总是返回零。

int x = 90/100*300;

它应该是270但它返回零。 :|

6 个答案:

答案 0 :(得分:1)

您正在进行整数计算,因此90/100会产生0。

如果你写它90.0/100*300,计算将用双打完成(如果你愿意,你需要把它强制转换为int。)

答案 1 :(得分:0)

这里的问题是它首先划分90/100实际上是0.9但是因为它是int类型,值是0然后当你乘以0 {}为300输出为0

答案 2 :(得分:0)

90/100是0余数90。

您可以通过重新排列值

来解决此问题
int x = 90 * 300 / 100; // 270

在分割之前进行乘法,只要你没有溢出,这就更准确了。

答案 3 :(得分:0)

在这种情况下,Java按顺序执行乘法/除法。

它还将每个数字解释为整数。

所以,90/100 = 0.9,它被截断为0。

且0 * 300 = 0。

所以你最终得到0

答案 4 :(得分:0)

您使用integer数据类型使用floatdouble数据类型并获得此等式的正确答案。整数数据类型只有十进制值应答返回但float和double数据类型返回带有浮点的应答,那么必须在此等式中使用float或double数据类型。

答案 5 :(得分:0)

我想你想要这个等式,试试这个     int x =(90/100)* 300;