else
単純な//ステートメントを使用して、 else if
1日の時間に応じてどちらを選択するかを決定する必要があるメソッドを作成しています。else
else
プログラムがこのセクションに直接進む理由がわかりません。
私のロジックの何が問題になっていますか?私はこの質問が質問を受け入れていることを知っていますが、私はとても混乱していて、ここで何が間違っているのかを本当に知りたいです。
public String whichClass()
{
String string = "";
int ClassLength = 2;
this.setLengthOfOS(ClassLength);
this.setLengthOfSecurity(ClassLength);
this.setLengthOfForensics(ClassLength);
this.setOSStartHour(13);
this.setSecurityStartHour(15);
this.setForensicsStartHour(17);
Date d = new Date();
Calendar c = Calendar.getInstance();
c.setTime(d);
this.setHour(c.get(Calendar.HOUR_OF_DAY));
if ((this.getHour() > this.getOSStartHour()) &&
(this.getHour() < this.getSecurityStartHour()))
{
string = "We're in OS class.";
}
else if ((this.getHour() > this.getSecurityStartHour()) &&
(this.getHour() < this.getForensicsStartHour()))
{
string = "We're in Security class.";
}
else
{
string = "We have no class.";
}
return string;
}
編集:これは修正され、機能しています。
public String whichClass()
{
String string = "";
Date d = new Date();
Calendar c = Calendar.getInstance();
c.setTime(d);
this.setHour(c.get(Calendar.HOUR_OF_DAY));
if ((this.getHour() >= this.OSStartHour) && (this.getHour() < (this.OSStartHour + this.lengthOfOS))) string = "We're in OS class.";
else if ((this.getHour() >= this.SecurityStartHour) && (this.getHour() < (this.SecurityStartHour + this.lengthOfSecurity))) string = "We're in Security class.";
else if ((this.getHour() >= this.ForensicsStartHour) && (this.getHour() < (this.ForensicsStartHour + this.lengthOfForensics))) string = "We're in Security class.";
else string = "We have no class.";
return string;
}