我有下面的代碼:「爲」用Java迴路斷線不工作
private boolean result = false;
public boolean checkHourExist(int hourfrom,
int minutefrom,
int hourto,
int minuteto,
int day,
int templateId)
{
List<templates> t = getAllTemplatesWithDays();
for (templates tem : t)
{
if(day == -1 | tem.Temp_DayId == day)
{
if(tem.Temp_HourFrom >= hourfrom & tem.Temp_HourTo == hourto)
{
if(tem.Temp_HourFrom == hourfrom)
{
if(tem.Temp_MinFrom == minutefrom)
{
result= true;
break;
}
else if(minutefrom < tem.Temp_MinFrom & minuteto >= tem.Temp_MinTo)
{
result = true;
break;
}
}
else
{
result = true;
break;
}
}
else if(tem.Temp_HourFrom == hourfrom & tem.Temp_HourTo < hourto)
{
result = true;
break;
}
else if(tem.Temp_HourFrom > hourfrom & tem.Temp_HourTo < hourto)
{
result = true;
break;
}
}
}
return result;
}
當代碼去我if
S的一個,該循環永遠不會打破,並一直持續到結束,我變量結果不會取真值。我認爲這可能是愚蠢的,但我看不出什麼錯誤。
打破完美。你確定有任何條件正在被打擊 - 那裏沒有最後的決定。 – 2013-05-08 20:33:11
你的意思是'continue'而不是'break'嗎? 「打破並繼續直到完成」表明這一點。 – 2013-05-08 20:33:11
你可以在'break'之前添加一個'println'語句或者調試器斷點來確保它已經到達嗎? – wchargin 2013-05-08 20:34:00