Java Android double不工作

Java Android double不工作,java,android,android-studio,double,Java,Android,Android Studio,Double,当我打印双精度值时,android studio出现了一个奇怪的问题,比如1/4: double test = 1/4 System.out.println(test); //the output is 0.0 当我计算的分数是((正确的概率/最大概率)*范围)时,它也将答案计算为0.0,其中正确的概率、最大概率和范围都是整数。然后使用“+分数”在我的文本视图中显示。我做错了什么?根据java规则,除法器必须是double/float,所以请尝试- double test = 1/4.0;

当我打印双精度值时,android studio出现了一个奇怪的问题,比如1/4:

double test = 1/4
System.out.println(test);

//the output is 0.0

当我计算的分数是((正确的概率/最大概率)*范围)时,它也将答案计算为0.0,其中正确的概率、最大概率和范围都是整数。然后使用“+分数”在我的文本视图中显示。我做错了什么?

根据java规则,除法器必须是double/float,所以请尝试-

double test = 1/4.0;
System.out.println(test);
答案是

0.25

根据java规则,分隔符必须是double/float,所以请尝试-

double test = 1/4.0;
System.out.println(test);
答案是

0.25
5/2=2

4/3=1

3/3=1

2/4=0

整数值/整数值=整数值

所以:1/4=0

因为1/4=(int)0.25=0

您可以通过以下方式解决此问题:

双值/int值=双值

1.0/4

1/4.0

1.0/4.0

5/2=2

4/3=1

3/3=1

2/4=0

整数值/整数值=整数值

所以:1/4=0

因为1/4=(int)0.25=0

您可以通过以下方式解决此问题:

双值/int值=双值

1.0/4

1/4.0


1.0/4.0

你试过类似1.0/4.0的东西吗?它可能在执行integer之后执行双重转换division@SamM这是正确的。1/4是整数除法,结果为0,然后转换为双精度(0.0)。将其中一个数字更改为双精度,您将获得良好的效果铸造双精度是唯一的解决方案,但感谢您尝试过类似于1.0/4.0的方法吗?它可能在执行integer之后执行双重转换division@SamM这是正确的。1/4是整数除法,结果为0,然后转换为双精度(0.0)。将其中一个数字改为双倍,你就会变好。铸造双倍是唯一的解决方案,但谢谢你,这是有效的