Java ArrayList,我不知道';我不知道什么是IndexOutOfBoundsException
这是代码,如果par1或par2为偶数,则添加数字并删除。 把这个给我Java ArrayList,我不知道';我不知道什么是IndexOutOfBoundsException,java,arraylist,Java,Arraylist,这是代码,如果par1或par2为偶数,则添加数字并删除。 把这个给我 arraylists; 扫描仪sc=新的扫描仪(System.in); 扫描仪sm=新扫描仪(System.in); s=新的ArrayList(); int-dorinta=sc.nextInt(); 如果(多林塔==1) {int numere=sm.nextInt(); 对于(int i=0;i,正如@QBrute所指出的,数组和列表是零索引的。这意味着第一个元素在零索引处,最后一个元素在索引处(size()-1)。在
arraylists;
扫描仪sc=新的扫描仪(System.in);
扫描仪sm=新扫描仪(System.in);
s=新的ArrayList();
int-dorinta=sc.nextInt();
如果(多林塔==1)
{int numere=sm.nextInt();
对于(int i=0;i,正如@QBrute所指出的,数组和列表是零索引的。这意味着第一个元素在零索引处,最后一个元素在索引处(size()-1)。在删除元素之前,您还需要检查列表是否为空。这意味着您正在尝试获取仅包含6个元素的列表的第7个元素。s.remove(s.size());
将始终引发该异常。Java中的数组和列表是0索引的。@Stultuske是对的,但更一般地说,这意味着您试图访问列表中不存在的索引。例如,如果列表长度为6,则索引6不存在,因为列表从索引0
开始。谢谢大家!
ArrayList<Integer> s;
Scanner sc=new Scanner(System.in);
Scanner sm=new Scanner(System.in);
s= new ArrayList<>();
int dorinta=sc.nextInt();
if(dorinta ==1)
{int numere =sm.nextInt();
for(int i=0;i<numere;i++)
{
Integer x=sc.nextInt();
s.add(x);
}
}
Random random = new Random();
while(s.size()!=0)
{int i=s.size();
int par1 = random.nextInt(20);
System.out.println(par1);
if(par1 % 2==0)
{
s.remove(s.size());
}
int par2= random.nextInt(20);
Integer j= random.nextInt(15);
System.out.println(par2);
if(par2 %2 ==0)
{
s.add(j);
}
System.out.println(s);
}