2014-01-25 90 views
0

我正在嘗試爲時間表應用程序編寫講座碰撞算法。每個講座都有開始和結束日期。講座碰撞布爾表達式算法

currentListElement是我現在的課程表中的現有課程,我想添加selectedLecture,並檢查當前講座之間是否存在衝突。因此,如果發生衝突,此布爾表達式應該返回true。

謝謝您的幫助

(currentListElement['startDate'] < chosenLecture['startDate'] 
    || currentListElement['startDate'] >= chosenLecture['endDate']) 
&& (currentListElement['endDate'] <= chosenLecture['startDate'] 
    || currentListElement['endDate'] > chosenLecture['endDate']) 

回答

2

其實有一點點失誤,試試這個:

(currentListElement['endDate'] < chosenLecture['startDate'] 
|| currentListElement['startDate'] > chosenLecture['endDate']) 

有兩種情況不發生碰撞:

  1. 的講座完全在當前之前設置。要檢查這一點,只需確保它在電流開始前結束。
  2. 講座完全在當前講座後設置。要檢查,確保它在當前結束後開始。