【发布时间】:2021-06-18 00:12:12
【问题描述】:
我正在尝试遍历一个包含 180 个元素的数组,并将前 60 个元素加在一起并将其存储在一个列表中。然后将接下来的 60 个元素加在一起并将它们存储在列表中,并对最后的 60 个重复此操作。到目前为止,我的代码只会添加前 60 个元素并将它们存储在列表中。问题似乎是 else if 语句中的“i % 60 == 0”,但我不知道为什么
Random r = new Random();
int[] arr = new int[180];
List<int> MyList = new List<int>();
int[] array2 = new int[2];
//intialize random numbers in 60 length array
for (int i = 0; i < arr.Length; i++)
{
arr[i] = r.Next(1, 10);
}
int score = 0;
//looping through arr
for (int i = 0; i < arr.Length; i++)
{
if (i % 60 != 0 || i == 0 )
{
score = score + arr[i];
i++;
}
else if (i % 60 == 0 && i != 0)
{
//adding the values to a list
MyList.Add(score);
//resetting score after score is added to the list
score = 0;
}
}
// converting list to my second array
array2 = MyList.ToArray();
//printing values in array
for (int i = 0; i < array2.Length; i++)
{
Console.WriteLine(array2[i]);
}
【问题讨论】: