В приведенном ниже коде я стараюсь получить оценку всех моих предметов. Я получаю вход через цикл for. Но я должен хранить оценку (например, «C») в массиве оценки, но я получаю исключение NullPointerException. Я не понимаю, что не так с моим кодом, так как я думал, что это хорошо. Также игнорируйте имена предметов, так как они находятся на шведском языке.NullPointerException in for loop
public class Defan{
Scanner sc = new Scanner(System.in);
String grade[];
String gradeName[] = {"Svenska1", "Svenska2", "Svenska3", "Engelska5", "Engelska 6",
"Mattematik 1c", "Mattematik 2c", "Mattematik 3c", "Mattematik 4", "Idrott", "Samhälle", "Religion",
"Historia", "Biologi1", "Biologi2", "Fysik1", "Fysik2", "Kemi1", "Kemi2", "Franska3", "Franska4", "Körsång1", "Körsång2"
, "Gymnasiearbete"};
public void getInput(){
for(int i = 0; i <= gradeName.length; i++){
System.out.println("Enter grade for " + gradeName[i] + ": ");
grade[i] = sc.nextLine();
}
}
Не причина исключения NullPointerException, но последняя итерация попытается получить доступ к 'gradeName [gradeName.length]', что выходит за рамки, потому что индексирование основано на нуле. Используйте 'i
Индекс массива начинается с '0' & заканчивается' length-1' –