Java 计算斐波那契数的平均值

Java 计算斐波那契数的平均值,java,fibonacci,Java,Fibonacci,我的任务是询问用户他们想要多少斐波那契数并打印出来,然后显示这些数的平均值。我在下面的代码中制作了一个显示斐波那契数的方法,但是我很难弄清楚如何将程序的平均部分合并起来。不是要求你帮我写,因为这是课堂作业,但如果知道我应该在哪里写程序的平均部分,那就太好了 import java.util.Scanner; public class Clancy_Hw_03_04{ public static void main (String[] args){ Scanner input

我的任务是询问用户他们想要多少斐波那契数并打印出来,然后显示这些数的平均值。我在下面的代码中制作了一个显示斐波那契数的方法,但是我很难弄清楚如何将程序的平均部分合并起来。不是要求你帮我写,因为这是课堂作业,但如果知道我应该在哪里写程序的平均部分,那就太好了

import java.util.Scanner;
public class Clancy_Hw_03_04{
   public static void main (String[] args){
       Scanner input = new Scanner(System.in);
       int number = 0;
       System.out.println ("Enter N: ");
       number = input.nextInt(); 

       System.out.println("\n\nFibonacci series for " + number +" numbers : ");
       for(int i=1; i<=number; i++){
          System.out.print(fibonacciLoop(i) +" ");
       }
   }

   public static int fibonacciLoop(int number){
       if(number == 1 || number == 2){
          return 1;
       }
       int fibo1=1, fibo2=1, fibonacci=1;

       for(int i= 3; i<= number; i++){
          fibonacci = fibo1 + fibo2;  
          fibo1 = fibo2;
          fibo2 = fibonacci;

       }
       return fibonacci;  
   }    
}
import java.util.Scanner;
公共类克兰西西西路03西路04号{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
整数=0;
System.out.println(“输入N:”);
number=input.nextInt();
System.out.println(“\n\n用于“+number+”数字的Bonacci系列:”);

对于(inti=1;i继续计算总和,然后除以数字。 你可以做一些像

int sum = 0;
for(int i=1; i<=number; i++){
      int fibo = fibonacciLoop(i);
      System.out.print(fibo +" ");
      sum += fibo;
}
System.out.println("Average = " + sum/number);
int和=0;

对于(int i=1;i在
main
函数中放入另一个整数,以存储总值:

public static void main(String[] args)
{
    Scanner input = new Scanner(System.in);
    int number = 0;
    int sum  = 0; // Add this here
}
然后,在
fibonacci
函数中,添加到该变量:

public static int fibonacciLoop(int number)
{
    if(number == 1 || number == 2)
    {
        sum += 1;
        return 1;
    }
    int fibo1=1, fibo2=1, fibonacci=1;

    for(int i= 3; i<= number; i++)
    {
        fibonacci = fibo1 + fibo2;  
        fibo1 = fibo2;
        fibo2 = fibonacci;

    }
    sum += fibonacci; //Put this here, outisde the loop
    return fibonacci;
}

如果从函数fibonacciLoop()中打印fibonacci数,而不是尝试返回每个连续数并从主循环中打印,则问题可能更容易解决。然后,求和和和平均值就在您的指尖上

例如:

public static void main(...) {
  ...
  System.out.println("\n\nFibonacci series for " + number +" numbers : ");
  fibonacciLoop(i);
}
static void fibonacciLoop(int number) {
  int fibo1 = 1, fibo2 = 1, sum = 0, average = 0, fibonacci;
  for (int i = 1; i <= 2 && i <= number; i++) {
    System.out.print("1 ");
    sum += 1;
  }
  for (i = 3; i <= number; i++) {
    fibonacci = fibo1 + fibo2;
    System.out.print(fibonacci + " ");
    fibo1 = fibo2; fibo2 = fibonacci;
    sum += fibonacci;
  }
  System.out.println("  average = " + (float)sum/number)
}
publicstaticvoidmain(…){
...
System.out.println(“\n\n用于“+number+”数字的Bonacci系列:”);
斐波那契环(i);
}
静态void fibonacciLoop(整数){
int fibo1=1,fibo2=1,和=0,平均=0,斐波那契;

对于(int i=1;我存储n个斐波那契数的和,然后除以n。函数在循环中运行,因此每次都重置sum变量
public static void main(...) {
  ...
  System.out.println("\n\nFibonacci series for " + number +" numbers : ");
  fibonacciLoop(i);
}
static void fibonacciLoop(int number) {
  int fibo1 = 1, fibo2 = 1, sum = 0, average = 0, fibonacci;
  for (int i = 1; i <= 2 && i <= number; i++) {
    System.out.print("1 ");
    sum += 1;
  }
  for (i = 3; i <= number; i++) {
    fibonacci = fibo1 + fibo2;
    System.out.print(fibonacci + " ");
    fibo1 = fibo2; fibo2 = fibonacci;
    sum += fibonacci;
  }
  System.out.println("  average = " + (float)sum/number)
}