Java斐波那契序列

Java斐波那契序列,java,arrays,Java,Arrays,编写一个程序来计算前10个斐波那契数,并将结果存储在一维数组中。在第二个数组中,计算并存储序列中相邻数字的平均值。第一个数组应包含整数值和第二个浮点值。以整洁的格式输出两个数组的内容 public static void main(String[] args) { //number of elements to generate in a series int limit = 10; long[] series = new long[limit];

编写一个程序来计算前10个斐波那契数,并将结果存储在一维数组中。在第二个数组中,计算并存储序列中相邻数字的平均值。第一个数组应包含整数值和第二个浮点值。以整洁的格式输出两个数组的内容

 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] + " ");
     }
}
publicstaticvoidmain(字符串[]args){
//系列中要生成的元素数
整数极限=10;
长[]系列=新长[限];
//创建前2个系列元素
系列[0]=1;
系列[1]=1;
//创建斐波那契级数并将其存储在数组中
对于(int i=2;i
好的,第一部分很好,但是现在创建一个数组来计算平均值对我来说有点棘手。到目前为止,我尝试了这个

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);
}
int[]number=新的int[]{1,1,2,3,5,8,13,21,34,55};
整数和=0;
对于(int i=0;i

但是效果不太好。有人能告诉我一些关于这个的信息吗

不应计算循环
内的平均值。将您的
平均值
移动到循环之外,以便它计算一次
总和
是准确的

            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);
int[]number=新的int[]{1,1,2,3,5,8,13,21,34,55};
整数和=0;
对于(int i=0;i
您不应该计算循环
内的平均值。将您的
平均值
移动到循环之外,以便它计算一次
总和
是准确的

            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);
int[]number=新的int[]{1,1,2,3,5,8,13,21,34,55};
整数和=0;
对于(int i=0;i
试试这个:

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);
}
int[]number=新的int[]{1,1,2,3,5,8,13,21,34,55};
整数和=0;
对于(inti=0;i
试试这个:

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);
}
int[]number=新的int[]{1,1,2,3,5,8,13,21,34,55};
整数和=0;
对于(inti=0;i
A)您希望我们花时间帮助您;因此,请您花几分钟来正确设置输入格式!B) “不起作用”是一个毫无用处的词。到底是什么不起作用。换句话说:请转到帮助中心,阅读“如何提问”,你想把你的
平均值
计算和打印放在循环之外。上面写着“在序列中存储相邻数字的平均值”,即
(序列[i]+序列[i+1])/2.0
A)你想让我们花时间帮助你;因此,请您花几分钟来正确设置输入格式!B) “不起作用”是一个毫无用处的词。到底是什么不起作用。换言之:请转到帮助中心,阅读“如何提问”,您希望将
平均值
计算和打印置于循环之外。它说“将相邻数字的平均值存储在序列中”,即
(序列[i]+序列[i+1])/2.0
如果要用序列[i]而不是int[]初始化数组,该怎么办数字=新的整数[]{1,1,2,3,5,8,13,21,34,55};我们如何改变它?你可以做
int[]numbers=new int[limit]
,然后在
for循环中设置每个
numbers[i]=series[i]
。如果你想用series[i]而不是int[]numbers=new int[]{1,1,2,3,5,8,13,21,34,55}来初始化数组怎么办;我们如何改变它?你可以做
int[]numbers=newint[limit]
,然后在
for循环中设置每个
numbers[i]=series[i]