所以,我正在用java做一个格斗游戏,我有这个等式总是返回零。
int x = 90/100*300;
它应该是270但它返回零。 :|
答案 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
数据类型使用float
或double
数据类型并获得此等式的正确答案。整数数据类型只有十进制值应答返回但float和double数据类型返回带有浮点的应答,那么必须在此等式中使用float或double数据类型。
答案 5 :(得分:0)
我想你想要这个等式,试试这个 int x =(90/100)* 300;