Печать объектов, находящихся в Arraylist - Исключение в потоке "main" java .lang.IndexOutOfBoundsException: Index: 10, Size: 10 - PullRequest
0 голосов
/ 19 апреля 2020

Я создал класс учителя, создал 10 объектов учителя и добавил их в Arraylist.

Теперь, когда я пытаюсь распечатать содержимое этого объекта в al oop, я получаю следующую ошибку:

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 10, Size: 10
    at java.util.ArrayList.rangeCheck(ArrayList.java:653)
    at java.util.ArrayList.get(ArrayList.java:429)
    at com.school.Main.main(Main.java:141)



ArrayList<Teacher> aTeacherArrayList = new ArrayList<Teacher>();

for ( x = 1; x<=10; x++) {

    Teacher aTeacher = new Teacher();

    aTeacher.setTeacherSalary(60000);

    aTeacher.setTeacherAddress("189 Orr Road" + x );

    aTeacher.setTeacherFirstName("Tony" + x);

    aTeacher.setTeacherLastName("Fong" + x);

    aTeacherArrayList.add(aTeacher);

  }

  for(i=0;i<=aTeacherArrayList.size();i++){

        System.out.println("in the looop");
         System.out.println(aTeacherArrayList.get(i).getTeacherFirstName() + " " + 
         aTeacherArrayList.get(i).getTeacherLastName());

   }

Ответы [ 2 ]

0 голосов
/ 19 апреля 2020
Индексы

ArrayList (и массивы в целом) пронумерованы от 0 до array.size() - 1. Эта часть for(i=0; i<=aTeacherArrayList.size(); i++) должна быть for(int i = 0; i < aTeacherArrayList.size(); i++).

0 голосов
/ 19 апреля 2020

Измените для l oop на это

for(i=0; i<aTeacherArrayList.size(); i++){

Если длина вашего массива равна 'm', элементы начинаются с 0 до 'm-1'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...