Java:带循环的数组

时间:2011-10-07 12:32:46

标签: java arrays loops

我需要创建一个包含100个数字(1-100)的数组,然后计算它的全部数量(1 + 2 + 3 + 4 + .. + 100 =总和)。

我不想手动将这些数字输入数组,100个点需要一段时间,而且代价更高。

我正在考虑使用变量++直到100,然后计算它的总和。不知道究竟会写得多么准确。 但重要的是它在数组中,所以我稍后也可以说,“数组55多少”,我可以很容易地看到它。

9 个答案:

答案 0 :(得分:41)

以下是:

// 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 :(得分:9)

如果您只想计算1,2,3 ... n的总和,那么您可以使用:

 int sum = (n * (n + 1)) / 2;

答案 2 :(得分:6)

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

答案 3 :(得分:4)

我不确定您希望生成的数组是什么结构,但以下代码将执行我认为您要求的内容:

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...]

中每个点的总和数组

答案 4 :(得分:2)

填充数组:

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

答案 5 :(得分:1)

如果您的数字数组始终以1开头并以X结尾,那么您可以使用以下公式: sum = x *(x + 1)/ 2

从1到100,总和将是100 * 101/2 = 5050

答案 6 :(得分:1)

这实际上是具有共同差异的算术级数的总和为1.因此,这是自然数之和的特殊情况。它很容易用一行代码完成。

int i = 100;
// Implement the fomrulae n*(n+1)/2
int sum = (i*(i+1))/2;
System.out.println(sum);

答案 7 :(得分:0)

int [] nums = new int [100];

int sum = 0;

//使用for循环用数字填充它 for(int i = 0; i&lt; nums.length; i ++)

{ 
     nums[i] = i + 1;
    sum += n;
}

的System.out.println(总和);

答案 8 :(得分:-1)

Array声明没有初始化值,如果你想通过迭代循环来插入值,这个代码就可以了。

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]);

}

}

}