Проблема связана с наличием else break;
, которое нарушает l oop в самой первой итерации, если LottoTickets[0]
не равно name
. Он вернет правильный результат только тогда, когда LottoTickets[0]
будет равен name
.
public void displayTicket(String name,Ticket[] LottoTickets) {
for(int i = 0; i<LottoTickets.length;i++) {
if(name.equalsIgnoreCase(LottoTickets[i].getName())) {
System.out.println(LottoTickets[i]);
break; //Breaks out of loop once ticket is found
}else break;
}
}
Просто удалите его, и ваш метод будет работать так, как задумано, то есть должно быть:
public void displayTicket(String name,Ticket[] LottoTickets) {
for(int i = 0; i<LottoTickets.length;i++) {
if(name.equalsIgnoreCase(LottoTickets[i].getName())) {
System.out.println(LottoTickets[i]);
break; //Breaks out of loop once ticket is found
}
}
}
Не стесняйтесь комментировать в случае каких-либо сомнений / проблем.