我的代码应该读取一个序列直到空行。我坚持将对象存储在numItem的数组中,然后增加numItem

public static int readInput(Scanner myScanner, String[] input) {
    boolean streamEnded = false;
    int numItem = 0;
    while (!streamEnded && myScanner.hasNext()) {
        String name = myScanner.nextLine();
        String id = myScanner.nextLine();
        if (name.length() == 0 && id.length() == 0) {
            streamEnded = true;
        } else {
            input[numItem] = name;
            input[numItem] = id;
            numItem++;
        }

        Person personTest = new Person(name, id);
        persons[numItem]

    }
    return numItem;

 }

}

最佳答案

一些东西:


numItem增量放在if/else语句之外。它应该在persons[numItem]之后的while循环的结尾。
不知道这是什么:persons[numItem]应该做什么。如果您打算将personTest对象存储在该索引处,则应为persons[numItem] = personTest;
除非您知道要在数组中创建10个人,否则我将使用ArrayList,这样您可以根据需要添加任意数量的Person对象。


我并没有逐条检查,这只是我的一般观察。我很确定您的代码不会按原样编译,尤其是这样:persons[numItem]。希望这个对你有帮助。

07-24 09:16