Member 13996630 Ответов: 1

Невозможно разрешить исключение java.lang.nullpointerexception


Exception in thread "main" java.lang.NullPointerException
	at EnrollmentMain.main(EnrollmentMain.java:211)


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

Что я уже пробовал:

Вот строка 211:
for(int i=0; i<=count;i++){
                   System.out.println(students[i].getID());
               }

1 Ответов

Рейтинг:
2

CPallini

Если count является ли длина students массив тогда верхний предел цикла неверен: изменение с

Цитата:
for(int i=0; i<=count;i++){
к
for(int i=0; i<count;i++){


Member 13996630

Та же проблема, сэр "исключение в потоке "main" java.lang.Исключение NullPointerException"

CPallini

Тогда вы должны показать нам больше кода.

Member 13996630

мпорт Ява.Ио.*;
импорт java.util.Сканер;

EnrollmentMain открытый класс {
публичный статический пустота главный(строка[] аргументы) {

Субъекты[] субъекты = новые субъекты[100];
System.out.println(java.util.Массивы.метод toString(субъектов));
Студенты[] студенты = новые студенты[100];
System.out.println(java.util.Arrays.toString(студенты));
Расписание[] расписание = новый график[100];
System.out.println(java.util.Arrays.toString(расписания));


char exit ='y';

Строку ввода;

int count=0;
int count2=0;
int count3=0;

Scanner scan = новый сканер( System.in );
логическое shouldBreak = ложь;
while(exit!='n') {
пробовать{

InputStreamReader isr = новый InputStreamReader(System.in);
BufferedReader br = новый BufferedReader(isr);

Строка subid;
Строковый код;
Строка lecdesc;
Строку лаборатории;
Строки отделов1;
Строки units2;
Идентификатор строки;
Строковое имя;
Адрес строки;
Курс строку ;
Строковый г.;
Строки Си;
Строку семь;
Строки время1;
Строки время2;
Строки День1;
Строки день2;
Струнные комнаты1;
Струнные комнаты2;
Строка сек;

int выбор;
хотя(!shouldBreak){
System.out.println("\nMenu");
System.out.println("[1] введите темы");
System.out.println("[2] Введите студентов");
System.out.println("[3] Введите расписание");


System.out.print("выбор: ");

место=число.parseInt(БР.с readline());

переключатель(выбор){
случай 0:
shouldBreak = истина;
перерыв;
корпус 1:
subjects[count]= новые предметы();
System.out.print("введите код темы: ");
код = br.readLine();
subjects[count].setCode(код);

System.out.print("введите идентификатор субъекта: ");
механизма subid = БР.с readline();
subjects[count].setSubid(subid);

System.out.print("Введите описание предмета(Lec): ");
lecdesc = БР.с readline();
субъекты[количество].setLecdesc(lecdesc);

System.out.print("Введите описание объекта(Лаборатория): ");
лаборатория = БР.с readline();
предметы[счетчик].setLab(лаборатории);

System.out.print("введите единицы измерения темы лекции: ");
отделов1 = БР.с readline();
субъекты[количество].setUnits1(единицы измерения 1);

System.out.print("введите предметные лабораторные единицы: ");
units2 = br.readLine();
предметы[счетчик].setUnits2(отделов1);

считать++;

CPallini

Добавьте код к вашему первоначальному вопросу, пожалуйста.

Member 13996630

System.out.println("\nSubject Information");
Системы.из.код println("код:" + темы[счетчик].getCode());
Системы.из.код println("механизма subid:" + темы[счетчик].getSubid());
Системы.из.код println("описание(Лэк):" + темы[счетчик].getLecdesc());
Системы.из.код println("описание(лаборатории):" + темы[счетчик].getLab());
System.out.println("лекционные единицы:" + subjects[count].getUnits1());
System.out.println("лабораторные единицы:" + subjects[count].getUnits2());
перерыв;

случай 2:
студенты[count2]= новые студенты();
System.out.print("\nEnter Student ID: ");
ИД= СП.с readline();
студенты[count2].setID(id);

System.out.print("введите имя студента: ");
наименование= СП.с readline();
студенты[count2].setName(имя);

System.out.print("введите адрес студента: ");
адрес= br.readLine();
студенты[count2].setAddress(адрес);

System.out.print("введите курс студента: ");
курс = br.readLine();
студенты[count2].setCourse(курс);

System.out.print("введите уровень студенческого года: ");
УГ = БР.с readline();
студенты[count2].setYr(yr);

счетчик2++;

System.out.println("\nStudent Information");
Системы.из.код println("идентификатор:" + студентов[счетчик].getID());
Системы.из.код println("имя:" + студентов[счетчик].метод getname());
Системы.из.код println("адрес:" + студентов[счетчик].getAddress());
System.out.println("курс:" + students[count].getCourse());
Системы.из.код println("год уровень:" + студентов[счетчик].getYr());
перерыв;

случай 3:
расписания[count3] = новые расписания();
System.out.print("учебный год: ");
сы = БР.с readline();
расписания[count3].setSy(sy);

System.out.print("введите семестровый уровень: ");
Сэм = БР.с readline();
расписания[count3].setSem(sem);

System.out.print("введите раздел: ");
сек = БР.с readline();
расписания[count3].setSec(sec);

System.out.print("введите предметное время для лекции: ");
время1 = БР.с readline();
расписания[count3].setTime1(time1);

System.out.print("введите предметное время для лаборатории: ");
время2 = БР.с readline();
расписания[count3].setTime2(time2);

System.out.print("введите предметный день для лекции: ");
День1 = br.readLine();
расписание[count3].setDay1(День1);

System.out.print("введите предметный день для лаборатории: ");
день 2 = br.readLine();
расписание[count3].setDay2(day2);

System.out.print("войдите в комнату для лекции: ");
rooms1 = БР.с readline();
расписания[count3].setRooms1(rooms1);

Member 13996630

System.out.print("войдите в комнату для лаборатории: ");
rooms2 = br.readLine();
расписания[count3].setRooms2(rooms2);

count3++;

System.out.println("информация о расписании");
System.out.println("учебный год:" + расписания[count].getSy());
System.out.println("семестровый уровень:" + расписания[count].getSem());
Системы.из.код println("раздел" + графики[счетчик].getSection());
Системы.из.код println("лекция время:" + графики[счетчик].getTime1());
System.out.println("Time Laboratory:" + расписания[count].getTime2());
Системы.из.код println("день" + графики[счетчик].getDay1());
Системы.из.код println("день" + графики[счетчик].getDay2());
System.out.println("комнаты:" + расписания[count].getRooms1());
System.out.println("комнаты:" + расписания[count].getRooms2());
перерыв;

случай 4:

по умолчанию:
System.out.println("неправильный выбор!");


}


}
}
catch(исключение e){
}
System.out.println( "\nDo это снова? г/н" );
вход = сканировать.строки().столоверчения();
выход = вход.используя метод charat(0);


if(exit=='n'){
System.out.println("---------------общие данные----------------");
System.out.println("студенческий билет:");

for(int i=0; i<count;i++){
Системы.из.код println(студентов[я].getID());
}
System.out.println("имя студента:");
for(int x=0; x<count;x++){
Системы.из.код println(студентов[х].метод getname());
}
System.out.println("адрес студента:");
for(int o=0; o<count;o++){
Системы.из.код println(студентов[о].getAddress());
}
System.out.println("курс для студентов:");
for(int j=0; j<count;j++){
Системы.из.код println(студентов[Дж].getCourse());
}
System.out.println("уровень студенческого года:");
for(int k=0; k<count;k++){
Системы.из.код println(студентов[к].getYr());
}

Системы.из.код println("--------------------------------------------");

System.out.println("идентификатор субъекта:");
for(int y=0; y<count2;y++){
Системы.из.код println(субъектов[г].getSubid());
}
System.out.println("предметный код:");
for(int z=0; z<count2;z++){
Системы.из.код println(субъектов[з].getCode());
}
System.out.println("описание предмета(Lec):");
for(int a1=0; a1<count2;a1++){
Системы.из.код println(субъектов[А1].getLecdesc());
}
System.out.println("описание предмета(Лаборатория):");
for(int b1=0; b1<count2;b1++){
Системы.из.код println(субъектов[В1].getLab());
}
System.out.println("лекционные блоки:");
for(int e=0; e<=count2;e++){
Системы.из.код println(субъектов[е].getUnits1());
}
System.out.println("лабораторные установки:");
for(int f=0; f<count2;f++){
Системы.из.код println(субъектов[Ф].getUnits2());
}

Member 13996630

Системы.из.код println("--------------------------------------------");
System.out.println("учебный год:");
for(int v=0; v<count;v++){
System.out.println(расписание[v].getSy());
}
System.out.println("семестровый уровень:");
for (int r=0; r<count3; r++){
Системы.из.код println(расписание[Р].getSem());
}
System.out.println("предметное время для лекции:");
for(int d=0; d<count3;d++){
System.out.println(расписания[d].getTime1());
}
System.out.println("предметное время для лаборатории:");
for(int d1=0; d1<count;d1++){
System.out.println(расписания[d1].getTime2());
}
System.out.println("предметный день для лекции:");
for(int c=0; c<count3;c++){
System.out.println(расписания[c].getDay1());
}
System.out.println("предметный день для лаборатории:");
for(int c1=0; c1<count3;c1++){
System.out.println(расписание[c1].getDay2());
}

System.out.println("комната, предназначенная для лекции:");
for(int g=0; g<count3;g++){
System.out.println(расписания[g].getRooms1());
}
System.out.println("комната освобождена для лаборатории:");
for(int g1=0; g1<count3;g1++){
System.out.println(расписания[g1].getRooms2());
}
}
}
}}

AstiAsti

Почему вы используете count2 в качестве индекса при вводе данных учащихся и count в качестве индекса при выводе данных учащихся? Это кажется проблематичным.

Member 13996630

да опечатка ошибка извините мой плохой :/ я меняю его сейчас, но это все та же ошибка сэр

Richard Deeming

Одна из записей в журнале students массив есть null Вам нужно будет отладить свой код, чтобы выяснить, почему.

Member1x

Печать в вашем распределительном ящике работает правильно? Я предполагаю, что вы изменили индекс с count (который вы использовали для субъекта) на count2 (который вы использовали для студента). Если все печатается правильно сразу после ввода, и вы получаете ошибку позже, чем вам кажется, чтобы изменить данные между ними.