Я решил запрограммировать поисковую систему для поиска учеников и учителей в школе через GUI. Это OOP и нуждается в некоторой настройке здесь и там, но есть одна проблема, которая не кажется мне логичной. Когда я ищу учителя, я должен набрать там имя или фамилию в JTextField и нажать кнопку «Поиск», которая запускает метод, который перебирает ArrayList объектов учителя и проверяет, совпадают ли их имена с именем в текстовом поле. , Затем он проверяет, есть ли у этих учителей несколько предметов и оценок, и проходит через вложенные операторы if. После того, как учитель найден, его информация отображается на GUI с несколькими полями Texfields. Теоретически, если имя, которое я ввел в TextField, не соответствует ни одному из объектов учителя, должно появиться сообщение об ошибке, в котором говорится, что учителя, которого я ищу, нет в системе. Но даже если я ввожу правильное имя и получаю всю отображаемую информацию, он каждый раз отправляет мне сообщение об ошибке. Я пытался исправить это с помощью оператора break, но это тоже не сработало. Может кто-нибудь, пожалуйста, помогите мне с этим. Вот код, о котором я говорю:
public void lehrerSuche()
{
String lehrername = tfSuchfeldLehrer.getText();
for(int i = 0; i < td.getFachliste(0).getListenLaengeLehrerListe();i++)
{
if(td.getFachliste(0).getLehrerliste(i).getName().equals(lehrername) || td.getFachliste(0).getLehrerliste(i).getNachname().equals(lehrername))
{
if(td.getFachliste(0).getLehrerliste(i).isMehrerefaecher() && td.getFachliste(0).getLehrerliste(i).isMehrereklassen())
{
tfNameLehrer.setText(td.getFachliste(0).getLehrerliste(i).getName() + " " + td.getFachliste(0).getLehrerliste(i).getNachname());
tfKürzelLehrer.setText(td.getFachliste(0).getLehrerliste(i).getKuerzel() + ".");
tfKlasse_1Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getKlasse().getBezeichnung());
tfKlasse_2Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getKlass2().getBezeichnung());
tfFach_1Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getFach().getFachbezeichnung());
tfFach_2Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getFach2().getFachbezeichnung());
}
if(td.getFachliste(0).getLehrerliste(i).isMehrerefaecher() == false && td.getFachliste(0).getLehrerliste(i).isMehrereklassen())
{
tfNameLehrer.setText(td.getFachliste(0).getLehrerliste(i).getName() + " " + td.getFachliste(0).getLehrerliste(i).getNachname());
tfKürzelLehrer.setText(td.getFachliste(0).getLehrerliste(i).getKuerzel() + ".");
tfKlasse_1Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getKlasse().getBezeichnung());
tfKlasse_2Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getKlass2().getBezeichnung());
tfFach_1Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getFach().getFachbezeichnung());
}
if(td.getFachliste(0).getLehrerliste(i).isMehrerefaecher() && td.getFachliste(0).getLehrerliste(i).isMehrereklassen()==false)
{
tfNameLehrer.setText(td.getFachliste(0).getLehrerliste(i).getName() + " " + td.getFachliste(0).getLehrerliste(i).getNachname());
tfKürzelLehrer.setText(td.getFachliste(0).getLehrerliste(i).getKuerzel() + ".");
tfKlasse_1Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getKlasse().getBezeichnung());
tfFach_1Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getFach().getFachbezeichnung());
tfFach_2Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getFach2().getFachbezeichnung());
}
if(td.getFachliste(0).getLehrerliste(i).isMehrerefaecher() == false && td.getFachliste(0).getLehrerliste(i).isMehrereklassen()==false)
{
tfNameLehrer.setText(td.getFachliste(0).getLehrerliste(i).getName() + " " + td.getFachliste(0).getLehrerliste(i).getNachname());
tfKürzelLehrer.setText(td.getFachliste(0).getLehrerliste(i).getKuerzel() + ".");
tfKlasse_1Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getKlasse().getBezeichnung());
tfFach_1Lehrer.setText(td.getFachliste(0).getLehrerliste(i).getFach().getFachbezeichnung());
}
break;
}
else
{
switchPanels_3(panelErrorLehrer);
}
}
}
Я загрузил свой проект на GitHub. Методы и переменные написаны на немецком языке, поэтому мне очень жаль, если вы не можете понять, что я написал. Если у вас есть вопросы, пожалуйста, ударь меня. Я использую Eclipse для написания кода. Эта ссылка должна направить вас на мой GitHub: https://github.com/Gonzo-CR/Home-Projects.git Если ссылка не работает, найдите Gonzo-CR на GitHub и проверьте мой репозиторий Home-projects, куда я загрузил все файлы. Для лучшего понимания это объектно-ориентированные классы:
- Person (Abstract)
- Schueler
- Lehrer
- Fach
- Schulklasse
- Spezial
- Sprecher GUI классы:
- Suchsystem
- Testdaten (Класс, который генерирует все мои объекты)