【发布时间】:2012-07-12 14:09:44
【问题描述】:
大家好,我对这门语言有点陌生,我制作了这个关于斐波那契的简单程序 并且程序运行良好,但是当我尝试获取平均数时出现奇怪的行为
public class fibonacci {
/**
* @param args
*/
public static int fibonaccifun(int number)
{
int firstvar=1;
int secondvar=0,total=0,sum=0;
for(int i=0;i<number;i++)
{
total =firstvar+secondvar;
System.out.println(total);
firstvar=secondvar;
secondvar=total;
sum+=total;
}
return sum;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
float aver= (float) ( fibonacci.fibonaccifun(5)/5);
System.out.println(aver);
.......................
当我尝试时
float aver= (float) ( fibonacci.fibonaccifun(5))/5; 结果是 2.4,这是正确的值,但是当我这样做时
float aver= ((float) fibonacci.fibonaccifun(5)/5);平均=2.0;
我不知道为什么会这样,所以谁能帮我解释一下,谢谢各位。
【问题讨论】: