サーティファイ Java 2級の問題について

下記コードについて教えて下さい。

class Ticket {
TicketType type;
int times = 1;
int no; boolean entering = false;

Ticket(int no, TicketType type) {
this.type = type;
this.no = no;
}

Ticket(int no, TicketType type, int times) {
this(no, type);
this.times = times;
}

/**

  • 入館時の処理

*/
void enter() {
System.out.println(getDisplayText() + "\t入館: ");
if(entering) {
System.out.println("現在利用中です。");
return;
}
if(times <= 0) {
System.out.println("利用可能残数がありません。");
} else {
System.out.println(getDate(Calendar.getInstance()));
times--;
entering = true;
}
}

このコード内にあるif文で、enteringが入るのは何故か理解できません。
enteringはfalseとして宣言している為、if文の中にある現在利用中ですという入館文は実行されないのでは??
!enteringが入れば理解できるのですが、どなたか解説をお願いします。

コメントを投稿

0 コメント