У меня возникли проблемы с запуском цикла.Моя цель - создать цикл, который позволит пользователю заполнять номера лотереи в несколько строк (пользователь может решить, сколько строк он / она хочет заполнить, но это не может быть больше максимального числа, указанного ранее вкод).Пока что мой код выглядит следующим образом:
import java.util.Scanner;
public class LotteryTicket {
public LotteryRow[] rows;
public int numberOfRows;
public Player ticketOwner;
public LotteryTicket(int maxNumberOfRows) {
this.rows = new LotteryRow[maxNumberOfRows];
}
Scanner input = new Scanner(System.in);
public void fillInTicket() {
System.out.print("How many rows do you want to fill in? ");
int n = input.nextInt();
while (n < 1 || n > rows.length) {
System.out.println("The number of rows must lie between 1 and " + rows.length);
System.out.print("How many rows do you want to fill in? ");
n = input.nextInt();
}
for (int index = 0; index < n; index++) {
rows[index].fillInRow();
}
numberOfRows = n;
}
Когда я пытаюсь запустить это в основном методе, и я ввожу правильное количество строк, я получаю сообщение об ошибке:
Исключение в потоке "main" java.lang.NullPointerException в LotteryTicket.fillInTicket (LotteryTicket.java:24)
Строка 24 - это строка, в которой я вызываю метод fillInRow (), который я создал вдругой класс, поэтому я подозреваю, что проблема заключается здесь.Я знаю, что этот метод работает нормально, так как я пробовал его в тестовой программе.Однако не правильно ли я ссылаюсь на этот метод fillInRow ()?
Любая помощь будет высоко ценится!