由于某种原因,每当我尝试运行此代码时,speed
仍保持在 0
,并且将 i
计数到 x
然后 speed
突然变为 1.0
。 speed
应该是 x
的小数,具体取决于 for 循环运行的次数。我不明白为什么会发生这种情况,非常感谢您能提供一些说明。
double speed;
int x = 200;
for(int i = 0; i <= x; i++){
speed = i/x;
System.out.println("Speed- " + speed);
System.out.println("Ticks- " + i);
}
for(int i = x; i >= 0; i--){
speed = i/x;
System.out.println("Speed- " + speed);
System.out.println("Ticks- " + i);
}
最佳答案
试试这个:
double x = 200; // use a double instead of an int
问题?您将两个 int
相除,结果是另一个 int
。通过将两个操作数之一转换为 double
,除法现在将产生一个带小数的数字。
关于java - 使用for循环时的除法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21923606/