Member 13312139 Ответов: 1

Vote 0 down vote favorite у меня есть вопрос о потоковой передаче через список объектов java и перерыве, если условие выполнено,


У меня есть город сущности, как показано ниже

@Сущность
городской общественный класс {

стране собственной стране ;
частный ClosestCity closestCity;
частный NearestCity nearestCity;
частный SisterCity sisterCity;

}

ClosestCity, NearestCity и SisterCity-это города с внешними ключами в городе сущностей. У меня есть список врачей, которые находятся в разных городах, и я хочу выделить пациента врачу, город которого ближе всего к городу пациента , еще выделить в ближайший город, еще выделить в город-побратим, еще если ни один из вышеперечисленных вопросов не отвечает, поставить пациента в список ожидания.

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

Below is my method to allocate and its not working.


public boolean allocateDoctorToPatient(пациент пациент) {

Практикующий closestPractitioner = null;
List< practicer> practicers = practicerservice.findAll (). get();
для (практикующий p: практикующие) {
// тот же город
if (closestPractitioner != null) {
для (практикующий p1: практикующие) {

если (пациент.getCity().равенства(П1.getCity())) {
closestPractitioner = Р1;
перерыв;
}
}
}
// петли для поиска ближайшего города
else if (closestPractitioner = = null) {
для (практикующий p2: практикующие) {

если (пациент.getCity().равен(П2.getCity().getClosestCity())) {
closestPractitioner = Р2;
перерыв;
}
}
}
// петли для поиска ближайшего города
else if (closestPractitioner = = null) {
для (практикующий p3: практикующие) {

если (пациент.getCity().равенства(П3.getCity().getNearestCity())) {
closestPractitioner = Р3;
перерыв;
}
}
}
// петли, чтобы найти город-побратим
else if(closestPractitioner = = null) {
для (практикующий p4: практикующие) {

если (пациент.getCity().равенства(П4.getCity().getSisterCity())) {
closestPractitioner = П4;
перерыв;
}
}
}



}
if (closestPractitioner != null) {
Allocate allocate =новое выделение();

выделить.setPatient(пациент);
allocate.setPractitioner(closestPractitioner)
сохранить(выделить);

}
еще {
Ожидания ожидания=новые ожидания();
ожидания.setPatient(пациент);
waitingListService.сохранить(конечно, не в списке);
}

вернуться closestPractitioner != нуль;
}

1 Ответов

Рейтинг:
0

Henrik Jonsson

Используйте отступы, чтобы сделать ваш код читабельным. Проблема, по-видимому, заключается в том, что ваше использование else. else блок вычисляется только в том случае, если предыдущее условие if не заполнено полностью, а кодовый блок после if, таким образом, не выполняется. Это означает, что closestPractitioner остается нулевым. Просто попробуйте удалить все else и посмотрим, сработает ли это. Первый if заявление также должно быть возможно удалить.