Java 在arraylist中添加元素
我在名为l的arraylist中插入了25个元素。接下来,我将添加前五个元素,并将总数存储到数组的第一个位置a[0]。然后再次添加后五个元素,并将总数存储到数组的第二个位置a[1]。同样,它会继续。然后,我至少打印数组a。我为此尝试了for循环Java 在arraylist中添加元素,java,Java,我在名为l的arraylist中插入了25个元素。接下来,我将添加前五个元素,并将总数存储到数组的第一个位置a[0]。然后再次添加后五个元素,并将总数存储到数组的第二个位置a[1]。同样,它会继续。然后,我至少打印数组a。我为此尝试了for循环 for (int i = 0; i<5; i++) { total = total + l.get(i); } System.out.println("1 " + total);
for (int i = 0; i<5; i++) {
total = total + l.get(i);
}
System.out.println("1 " + total);
a[0] = total;
total = 0;
for (int i = 5; i<10; i++) {
total = total + l.get(i);
}
System.out.println("2 " + total);
a[1] = total;
total = 0;
for (int i = 10; i<15; i++) {
total = total + l.get(i);
}
System.out.println("3 " + total);
a[2] = total;
total = 0;
for (int i = 15; i<20; i++) {
total = total + l.get(i);
}
System.out.println("4 " + total);
a[3] = total;
total = 0;
for (int i = 20; i<25; i++) {
total = total + l.get(i);
}
System.out.println("5 " + total);
a[4] = total;
}
for(int i=0;i<a.length;i++)
{
System.out.println(a[i]);
}
例如:如果arraylist包含元素1,1,0,8,4,6,6,1,0,1,4,1,1,1,6,6,4,1,0,8,8,3,8,1,0,则输出为14
14
13
19
20,此代码打印正确。我使用5作为循环来执行此操作,是否有其他简单的方法来执行此操作?如果有,请告诉我可以使用什么逻辑?您的代码存在一个主要问题,您最多只能处理大小为25的数组。您应该使用循环来获得所需的行为。使用循环还有一个好处,就是不需要反复重用代码 如何开始使用循环? 看看你的代码,什么似乎被重复了一遍又一遍 这似乎是一节:
for (int i = 0; i<5; i++) {
total = total + l.get(i);
}
System.out.println("1 " + total);
a[0] = total;
total = 0;
仅供参考:l小写字母l对于变量来说是一个非常糟糕的名称,因为它很容易与数字1混淆,这取决于所使用的字体。不要使用名为l的变量。
for (int chunk = 0; chunk < 5; chunk ++) {
for (int i = 0; i < 5; i++) {
total = total + l.get(i + chunk * 5);
}
System.out.println(chunk + " " + total);
a[chunk] = total;
total = 0;
}
List<Integer> results = new ArrayList<Integer>();
for (int i = 0; i < l.size(); i++) {
int chunk = i / 5;
if (chunk >= results.size())
results.add(l.get(i));
else
results.set(chunk, l.get(i) + results.get(chunk));
}
for (int i = 0; i < results.size(); i++) {
System.out.println(i + " " + results.get(i));
}