こんにちは皆さん、フィボナッチに関するこの簡単なプログラムを作成した言語にちょっと慣れていません。プログラムは正常に動作しますが、平均数を取得しようとすると奇妙な動作が発生します
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;
なぜこれを行うのかわからないので、誰かがこれを説明するのを手伝ってくれます、thx みんな。