숀 맥아 보이 주심 :
나는 티켓 시스템을 제작하고있다. 사용자가 티켓을 검색 할 경우 그들은 이름을 입력합니다. 내가 그것을 입력하도록 사용자에게 요청할 때 작동하지 않습니다.
나는이 같은 방법을 호출하는 경우 : G1.displayTicket("John Blogs", LottoTickets);
이 작업을 수행합니다!
특정 티켓을 표시 :
System.out.print("\nDo you wish to search for a particular ticket? ");
String certainTicketQ = in.next();
if(certainTicketQ.equalsIgnoreCase("Yes"))
{
System.out.print("Name of the person you wish to search for: ");
String name = in.next();
G1.displayTicket(name, LottoTickets);
}
방법은 다음과 같습니다
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;
}
}
아빈 드 쿠마 Avinash :
인한 문제의 존재 인 else break;
경우, 첫 번째 반복 자체가 루프를 차단하는 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
}
}
}
의심 / 문제의 경우에 의견을 주시기 바랍니다.