Java 未获取所需的返回值
如果我使用Java 未获取所需的返回值,java,eclipse,Java,Eclipse,如果我使用double sum=0而不是int sum=0,我会得到预期的答案(38.8),但当我使用int时,我会得到38.0作为答案。我想知道为什么会发生这种情况,因为我的返回类型是double,所以我不应该自动获得精确的十进制值输出 公共类prg21 { } 我期望38.8,但我得到38.0,int数据类型将删除任何十进制值 得到38.0是因为表达式被保存为int,去掉小数并使其为38,然后它作为double返回,因此它被转换为38.0返回和/(double)ar.length。您当前所做
double sum=0
而不是int sum=0
,我会得到预期的答案(38.8),但当我使用int
时,我会得到38.0作为答案。我想知道为什么会发生这种情况,因为我的返回类型是double
,所以我不应该自动获得精确的十进制值输出
公共类prg21
{
}
我期望38.8,但我得到38.0,int数据类型将删除任何十进制值
得到38.0是因为表达式被保存为int,去掉小数并使其为38,然后它作为double返回,因此它被转换为38.0
返回和/(double)ar.length代码>。您当前所做的是返回按返回类型转换为double的sum/ar.length
(圆形)的int结果。我建议您了解变量以及每个变量的作用
public static double average(int...ar)
{
int sum=0;
for(int x:ar)
{
sum+=x;
}
return sum/ar.length;
}
public static void main(String args[])
{
int []arr= {5,77,2,65,45};
System.out.println("Average="+average(arr));
}