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)
}