我希望我的变量i具有取决于随机数的这些分数的值。但是,当我打印出i时,它显示1.0。为什么会这样,我该如何解决这个问题?
public class Musik{
public static void main(String[] args){
Interval();
System.out.println(Interval());
}
public static double Interval(){
int a = (int)(Math.random() * 5);
System.out.println(a);
double i = 0;
switch (a) {
case 0 :
i = 2;
break;
case 1 :
i = 3/2;
break;
case 2 :
i = 4/3;
break;
case 3 :
i = 5/4;
break;
case 4 :
i = 9/8;
break;
}
return i;
}
}
因为3/2
是两个整数之间的除法,结果为1
。您可能想将两个双精度数3.0/2.0
除以1.5
如果期望以十进制精度表示结果,则将d
添加到分母中>]
Ex:
[5/3
返回1
但是
[5/3d
返回1.6666666666666667