int sum = 0;
ArrayList<Integer> num = new ArrayList<Integer>();
for(int i=1;i<=schoolStart;i++)
{
System.out.println("Percentage of students passing in"+" "+i+" is ");
percentageOfPassingStudents = sc.nextInt();
num.add(percentageOfPassingStudents);
int count=0;
for(int j=0;;j++)
{
sum = sum+num.get(j);
}
count++;
}
我希望条件检查它是否占用了数组列表的最后5个值。
提前感谢。
答案 0 :(得分:0)
只需检查你的arraylist的大小是否至少与schoolStart - 5变量的大小一样大。
int sum = 0;
ArrayList<Integer> num = new ArrayList<Integer>();
for(int i=1;i<=schoolStart;i++)
{
System.out.println("Percentage of students passing in"+" "+i+" is ");
percentageOfPassingStudents = sc.nextInt();
num.add(percentageOfPassingStudents);
int count=0;
if(num.size() > schoolStart-5) {
sum = sum+num.get(i-1);
}
count++;
}
另外,我不确定你要做什么,但这看起来不是一个好的解决方案(对于任何事情) - 请参阅avgvstvs解决方案以获得更好的替代方案
答案 1 :(得分:0)
如果您只关心最后5个整数输入,我会考虑使用LinkedList并将其视为Stack。
LinkedList<Integer> myList = new LinkedList<Integer>();
//Always add at the front of the list:
myList.addFirst(new Integer(2));
//asserting there are at least 5 items in the list:
for(int i = 0; i < 5; ++i) {
Integer tmp = myList.removeFirst();
//do stuff
}