Java:带循环的数组
我需要创建一个包含100个数字(1-100)的数组,然后计算它将会是多少(1 + 2 + 3 + 4 + .. + 100 =总和)。
我不想手动将这些数字输入到数组中,100个点需要一段时间并且需要更多代码。
我正在考虑使用变量++直到100,然后计算它的总和。 不确定它是如何编写的。 但重要的是它在数组中,所以我也可以稍后说,“数组55多少”,我可以很容易地看到它。
就是这样:
// Create an array with room for 100 integers int[] nums = new int[100]; // Fill it with numbers using a for-loop for (int i = 0; i < nums.length; i++) nums[i] = i + 1; // +1 since we want 1-100 and not 0-99 // Compute sum int sum = 0; for (int n : nums) sum += n; // Print the result (5050) System.out.println(sum);
如果您只想计算1,2,3 … n的总和,那么您可以使用:
int sum = (n * (n + 1)) / 2;
int count = 100; int total = 0; int[] numbers = new int[count]; for (int i=0; count>i; i++) { numbers[i] = i+1; total += i+1; } // done
我不确定你想要的结果是什么结构,但是下面的代码会做我认为你要求的:
int sum = 0; int[] results = new int[100]; for (int i = 0; i < 100; i++) { sum += (i+1); results[i] = sum; }
给你一个循环中每个点的总和数组[1, 3, 6, 10...]
要填充数组:
int[] numbers = new int[100]; for (int i = 0; i < 100; i++) { numbers[i] = i+1; }
然后总结一下:
int ans = 0; for (int i = 0; i < numbers.length; i++) { ans += numbers[i]; }
或者简而言之,如果你想要从1到n的总和:
( n ( n +1))/ 2
如果您的数字数组始终以1开头并以X结尾,那么您可以使用以下公式:sum = x *(x + 1)/ 2
从1到100,总和将是100 * 101/2 = 5050
这实际上是具有共同差异的算术级数的总和为1.因此,这是自然数之和的特殊情况。 它可以通过一行代码轻松完成。
int i = 100; // Implement the fomrulae n*(n+1)/2 int sum = (i*(i+1))/2; System.out.println(sum);
int [] nums = new int [100];
int sum = 0;
//使用for循环填充数字(int i = 0; i 的System.out.println(总和);
{ nums[i] = i + 1; sum += n; }
数组声明没有初始化值,如果你想通过迭代循环插入值,这个代码将起作用。
Public Class Program { public static void main(String args[]) { //Array Intialization int my[] = new int[6]; for(int i=0;i<=5;i++) { //Storing array values in array my[i]= i; //Printing array values System.out.println(my[i]); } } }