它编译但是说我有一个索引越界错误,我不知道如何解决。
错误消息:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
感谢任何帮助,谢谢。这是我的代码的一部分:
ArrayList<listy> list = new ArrayList<listy>();
ArrayList<listy> list2 = new ArrayList<listy>();
for (int a = 0; a < 5; a++) {
for (int f = 0; f < list.size(); f++) {
for (int i = 0; i < 10; i++) {
//get listy }
答案 0 :(得分:1)
您正在从名为BattleBoats的类中运行main方法,而不是来自Battleship的主要方法。该错误是由于您调用ArrayList类的get()方法而不填充,因为堆栈跟踪中列表的大小为0。请提供BattleBoats的代码
答案 1 :(得分:1)
您没有初始化列表 但您在 for loop 中使用它来编写其值!
for (int i = 0; i < 10; i++) {
System.out.println(list.get(i).getRow() + " " + list.get(i).getCol());
将其更改为:
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i).getRow() + " " + list.get(i).getCol());
你的Stacktrace指向一条get()消息,该消息被发送到main()方法中的空ArrayList(上面的循环)。