Java 使用for循环时的除法问题

Java 使用for循环时的除法问题,java,for-loop,division,Java,For Loop,Division,出于某种原因,每当我尝试运行此代码时,speed始终保持在0,它将I计数到x,然后speed突然变为1.0speed应该是x的小数点,具体取决于for循环的运行次数。我不明白为什么会发生这种情况,如果能澄清一下,我将不胜感激 double speed; int x = 200; for(int i = 0; i <= x; i++){ speed = i/x; System.out.println("Speed- " + speed); System.

出于某种原因,每当我尝试运行此代码时,
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);
 }  
双速;
int x=200;
对于(int i=0;i=0;i--){
速度=i/x;
系统输出打印项次(“速度-”+速度);
System.out.println(“记号-”+i);
}  
试试这个:

double x = 200; // use a double instead of an int
问题出在哪里?您将两个
int
s相除,结果是另一个
int
。通过将两个操作数中的一个转换为双精度,除法现在将产生一个带小数的数字。

尝试以下操作:

double x = 200; // use a double instead of an int
问题出在哪里?您将两个
int
s相除,结果是另一个
int
。通过将两个操作数中的一个转换为双精度,除法现在将产生一个带小数的数字。

尝试以下操作:

double x = 200; // use a double instead of an int
问题出在哪里?您将两个
int
s相除,结果是另一个
int
。通过将两个操作数中的一个转换为双精度,除法现在将产生一个带小数的数字。

尝试以下操作:

double x = 200; // use a double instead of an int

问题出在哪里?您将两个
int
s相除,结果是另一个
int
。通过将两个操作数中的一个转换为双精度,除法现在将产生一个带小数的数字。

x必须是浮点变量才能得到正确的结果。如果i和x都是整数,那么速度也是整数,这就是为什么只有0和1必须是浮点变量才能得到正确的结果。如果i和x都是整数,那么速度也是整数,这就是为什么只有0和1必须是浮点变量才能得到正确的结果。如果i和x都是整数,那么速度也是整数,这就是为什么只有0和1必须是浮点变量才能得到正确的结果。如果i和x都是整数,那么速度也是整数,这就是为什么只能得到0和1的原因。请阅读“整数除法”。请阅读“整数除法”。请阅读“整数除法”。请阅读“整数除法”。请阅读“整数除法”。请阅读“整数除法”。