我目前正在学习Java编程语言,需要帮助了解ArrayList类的size方法。在提问之前,让我解释一下这个程序。
这个程序计算类(class)成绩的平均值。
我的问题是关于 ArrayList 类的大小方法。在 For 循环中,关系表达式“i < grades.size()”将运行“i”,直到它小于数组的大小。我被告知数组的大小总是比数组中元素的数量多一,所以在我的例子中,假设我的数组中有 3 个元素(成绩),我实际上有一个数组大小为 4(类似字符串的工作原理)。请注意,在我退出 For 循环后,我可以使用 size 方法适本地计算我的平均值。我很困惑,因为如果数组的大小比元素的数量多 1,那么它不会除以 4 而不是 3?为什么规则在 For 循环中的作用不同?感谢任何愿意阐明这一点的人。
import java.util.ArrayList;
public class Chap11Part1
public static void main(String[] args)
{
double average;
int total = 0;
ArrayList<Integer> grades = new ArrayList<Integer>();
grades.add(78);
grades.add(84);
grades.add(90);
for(int i = 0; i < grades.size(); ++i)
total += grades.get(i);
average = total / grades.size();
System.out.println("The average is " + average);
最佳答案
数组的大小与元素的数量相同。唯一要记住的是索引从 0 开始;所以最后一个索引将是 size-1:
import java.util.ArrayList;
public class Chap11Part1 {
public static void main(String[] args) {
double average;
int total = 0;
ArrayList<Integer> grades = new ArrayList<Integer>();
grades.add(78);
grades.add(84);
grades.add(90);
for (int i = 0; i < grades.size(); ++i)
total += grades.get(i);
average = total / grades.size();
System.out.println("The average is " + average);
}
}
关于Java - ArrayList - .size() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30578739/