NullPointerException при считывании данных с клавиатуры

161
30 октября 2018, 04:10

Имеется код:

package testPackage;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        int n;
        System.out.println("Enter size:");
        Scanner scanner = new Scanner(System.in);
        n = scanner.nextInt();
        Student arr[] = new Student[n];
        for (int i = 0; i<n;i++){
            String temp;
            System.out.println("Enter the ID:");
            scanner = new Scanner(System.in);
            temp = scanner.nextLine();
            arr[i].setId(temp);
        }
    }
}
public class Student {
    private String id;
    private String surname;
    private String name;
    private String secondName;
    private String faculty;
    public void setId(String id){
        this.id = id;
    }
    public void setFaculty(String faculty) {
        this.faculty = faculty;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setSecondName(String secondName) {
        this.secondName = secondName;
    }
    public void setSurname(String surname) {
        this.surname = surname;
    }
    public String getName() {
        return name;
    }
    public String getFaculty() {
        return faculty;
    }
    public String getId() {
        return id;
    }
    public String getSecondName() {
        return secondName;
    }
    public String getSurname() {
        return surname;
    }
}

Задача - заполнение массива данными о студентах. Однако после считывания ID в первый раз выбивает

Exception in thread "main" java.lang.NullPointerException at testPackage.Main.main(Main.java:17)

Если что, 17 строка - это arr[i].setId(temp);

В чем ошибка и как ее исправить?

Answer 1

Перед 17-ой строкой добавьте arr[i] = new Student(); Таким образом Вы создадите элемент типа Student и поместите его в i-ый элемент массива.

READ ALSO
java Iterator для многомерного массива

java Iterator для многомерного массива

Как реализовать интерфейс Iterator для многомерного массива?

188
Не хочет работать hibernate под Tomcat

Не хочет работать hibernate под Tomcat

Когда выполнение кода метода doGet сервлета доходит до момента обращения к базе через hibernate в логе появляется нижеуказанная ошибка и останавливается...

186
Передача параметров в jsp

Передача параметров в jsp

Есть файл jsp поставляется в библиотеке, менять не могу, но мне нужно передать параметр в этот jspGри передаче тегом param переменная text появляется...

215
Преобразовать результат сложения Double

Преобразовать результат сложения Double

Подскажите пожалуйста, почему результат сложения получается "10E-7", а не "0

178