我是 Java 编程的初学者。当我编写一个简单的控制台应用程序时,它给出的输出不是我想要的。我的代码是:
class myClass{
public static void main(String[] args) {
int ballsPlayed = 100;
double o = (double)(( ballsPlayed / 6 ) + ( ( ballsPlayed % 6) / 10 ));
System.out.println(o);
}
}
( ( ballsPlayed % 6)/10)
应为 0.4,因为 100/6 的余数为 4,而 4/10 必须给出 0.4。那么变量'o'必须给出16.4(16+0.4)。但我从控制台得到 16.0 作为输出。我犯了什么错误?
最佳答案
您必须将 ballsPlayed
类型转换为 double
,因为 ballsPlayed
是一个整数。它返回 (ballsPlayed % 6)/10
的整数部分。因此除了 0.4 之外你得到了 0。
试试这个,
double o = (double)(( ballsPlayed / 6 ) + ((double) ( ballsPlayed % 6) / 10 ));
这里你会得到 16 + 0.4 = 16.4
关于java - 双重运算的错误输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29988366/