2016-10-30 3 views
0

最初の10個のフィボナッチ数を計算し、その結果を1次元配列に格納するプログラムを作成します。第2の配列では、系列内の隣接する数値の平均値を計算して記憶する。最初の配列は、整数値と2番目の浮動小数点値を含む必要があります。出力ニート形式で両方の配列の内容Javaフィボナッチシーケンス

public static void main(String[] args) { 
    //number of elements to generate in a series 
    int limit = 10; 

    long[] series = new long[limit]; 

    //create first 2 series elements 
    series[0] = 1; 
    series[1] = 1; 

    //create the Fibonacci series and store it in an array 
    for(int i=2; i < limit; i++){ 
     series[i] = series[i-1] + series[i-2]; 
    } 

    //print the Fibonacci series numbers 
    System.out.println("Fibonacci Series upto " + limit); 
    for (int i = 0; i < limit; i++) { 
     System.out.print(series[i] + " "); 
    } 
} 

さて最初の部分が正常に動作しているが、現在の平均を計算する配列を作成するようにこれまで私はこれを試みたme.Soためのビットトリッキーです。

int[] numbers = new int[]{1,1,2,3,5,8,13,21,34,55}; 
int sum=0; 
for (int i = 0; i < numbers.length ; i++) {   
    sum = (int) (sum + numbers[i]); 
    double average = (double)sum/numbers.length; 
    System.out.println("Average value of array elements is : " + average); 
} 

しかし、それほどうまくいきません。

+0

Aを)あなたは私たちがあなたを助けるために私達の時間を過ごしたいです。だからあなたは**フォーマット**を正しくフォーマットするのにかかる数分を費やしてください! B) "働いていない"という言葉はかなり役に立たない。正確に何が働いていないのですか?言い換えれば、ヘルプセンターに目を通して、「質問する方法」を参照してください。 – GhostCat

+1

ループの外側で平均計算と印刷を行いたいとします。 –

+0

「系列の隣接する数値の平均値を格納する」、すなわち '(series [i] + series [i + 1])/ 2.0' –

答えて

2

for loopの平均値は計算しないでください。 averageをループ外に移動して、sumが一度計算されるようにします。

  int[] numbers = new int[]{1,1,2,3,5,8,13,21,34,55}; 
      int sum=0; 
      for(int i=0; i < numbers.length ; i++){   
       sum = (int) (sum + numbers[i]); 
      } 
      double average = (double)sum/numbers.length; 
      System.out.println("Average value of array elements is : " + average); 
+0

代わりに系列[i]で配列を初期化する場合はどうすればいいですか? int [] numbers = new int [] {1,1 {1,2,3,5,8,13,21,34,55}。 変更方法 –

+0

あなたは 'int [] numbers = new int [limit]'を実行し、 'forループ'でそれぞれ 'numbers [i] = series [i]'を設定する必要があります。 – Libby

1

これを試してみてください:

int[] numbers = new int[]{1,1,2,3,5,8,13,21,34,55}; 
int sum=0; 
for (int i = 0; i < numbers.length - 1; i++) {   
    sum = (int) (sum + numbers[i]); 
    double average = sum/2.0; 
    System.out.println("Average value of array elements is : " + average); 
} 
+0

完璧に動作します:)ありがとう –

関連する問題