Java的ArrayList中得到了java.lang.IndexOutOfBoundsException?

编程入门 行业动态 更新时间:2024-10-19 00:27:14
本文介绍了Java的ArrayList中得到了java.lang.IndexOutOfBoundsException?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我是一个普通的3D艺术家,从我的职业生涯转换,并开始学习编程。我有与c106a单张#5个问题。

在code的作品,但我还是得到了一些错误日志在这里。

异常线程mainjava.lang.IndexOutOfBoundsException:指数:4,大小:4在java.util.ArrayList.RangeCheck(ArrayList.java:547)在java.util.ArrayList.get(ArrayList.java:322)在UniqueNames.showUnique(UniqueNames.java:23)在UniqueNames.main(UniqueNames.java:39)

为什么的ArrayList ,它可以在自己的舒展它的容量,仍然得到了 OutOfBoundsException ?

下面是我完全code:

进口acm.io. *;进口acm.program.ConsoleProgram;进口acm.util *。进口java.io. *;进口的java.util.ArrayList;进口的java.lang。*;公共类UniqueNames扩展ConsoleProgram {  静态的ArrayList<串GT; meString =新的ArrayList<串GT;();  静态字符串输入;    公共静态无效storeUnique(字符串输入){        如果(!meString.contains(输入))           {            meString.add(输入);            }    }    公共静态无效showUnique(ArrayList的<串GT; meString){        的System.out.println(唯一名称列表包含:);        的for(int i = 0; I< = meString.size();我++){            的System.out.println(meString.get(I));          }      }    公共静态无效的主要(字串[] args){             尝试{                InputStreamReader的流=新的InputStreamReader(System.in);                BR的BufferedReader =新的BufferedReader(流);                   而(真){                       的System.out.println(输入名称:);                       字符串输入= br.readLine();                       如果(input.equals())打破;                       storeUnique(输入);                      }                  {showUnique(meString);}                }             赶上(IOException异常五){                }    }}

解决方案

下面的行

的for(int i = 0; I< = meString.size();我++){            的System.out.println(meString.get(I));          }

的for(int i = 0; I< meString.size();我++){            的System.out.println(meString.get(I));          }

由于该列表的索引从零开始。

指数:4,大小:4详细解释。当你调用get(4)发生异常。

由于您的列表的大小4.所以,你可以访问的元素 GET(0),得到(1),得到(2),得到(3)。

I'm a general 3D artist, switched from my career and started to learn programming. I've got a problem with c106a handout #5.

The code works, but I've still got some error log here.

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 4, Size: 4 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at java.util.ArrayList.get(ArrayList.java:322) at UniqueNames.showUnique(UniqueNames.java:23) at UniqueNames.main(UniqueNames.java:39)

Why does Arraylist, which can stretch its capacity on its own, still get an OutOfBoundsException?

Here's my full code:

import acm.io.*; import acm.program.ConsoleProgram; import acm.util.*; import java.io.*; import java.util.ArrayList; import java.lang.*; public class UniqueNames extends ConsoleProgram{ static ArrayList<String> meString = new ArrayList<String>(); static String input ; public static void storeUnique(String input){ if (!meString.contains(input)) { meString.add(input); } } public static void showUnique(ArrayList<String> meString){ System.out.println("Unique name list contains:"); for(int i=0 ;i<= meString.size() ;i++){ System.out.println(meString.get(i)); } } public static void main(String[] args){ try{ InputStreamReader stream = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(stream); while (true){ System.out.println("Enter name:"); String input = br.readLine(); if (input.equals("")) break; storeUnique(input); } {showUnique(meString);} } catch(IOException e){ } } }

解决方案

Here in the lines

for(int i=0 ;i<= meString.size() ;i++){ System.out.println(meString.get(i)); }

should be

for(int i=0 ;i< meString.size() ;i++){ System.out.println(meString.get(i)); }

Because the index of the list starts from zero.

Index: 4, Size: 4 explains more. when you call get(4) exception occurs.

because your list have a size 4. So you can access the elements get(0),get(1),get(2),get(3).

更多推荐

Java的ArrayList中得到了java.lang.IndexOutOfBoundsException?

本文发布于:2023-11-22 20:32:38,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1618917.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:中得   ArrayList   Java   IndexOutOfBoundsException   lang

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!