Как исправить исключение в потоке "main" java.lang.IndexOutOfBoundsException: индекс: 0, размер: 0? - PullRequest
0 голосов
/ 27 октября 2019

Я пытаюсь распечатать из моего изменяемого списка, но продолжаю выходить за пределы. Я добавил участников в меню внизу, и каждый раз, когда я пытаюсь что-то напечатать из члена списка, я получаю сообщение об ошибке. Эти члены являются объектами класса, которые хранятся в виде списка. Я думаю, что это связано с тем, как я написал список, но не могу понять.

Я пытался добавлять участников в список по-разному, но это приводило к той же ошибке.

class membership ()
      {
        var number: Int? = null
        var name: String? = null
        var address: String? = null
        var zip: String? = null
        var phone: String? = null
        var memberSince: String? = null
        var memberType: Char? = null

    }

fun main(args: Array<String>) {

var Members: MutableList<membership> = mutableListOf()

    var member1 = membership()
    member1.number = 1
    member1.name = "George Jetson"
    member1.address ="123 Main St."
    member1.zip = "99207"
    member1.memberSince = "12/01/1997"
    member1.memberType = 'L'

Members[0] = member1

    println(Members[0].name)
}

// I have more members.

Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
 at java.util.ArrayList.rangeCheck (ArrayList.java:653) 
 at java.util.ArrayList.set (ArrayList.java:444) 
 at FileKt.main (File.kt:45)

1 Ответ

1 голос
/ 27 октября 2019

Я бы сказал, что вы не можете назначить элемент 0, если он не был установлен ранее. Член1 должен быть добавлен с

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