我正在嘗試編寫一個有條件的程序,并針對 3 門課程提出這些問題:課程名稱是什么?有多少學生參加了這門課程?這門課程的學生容量是多少?第三門課程的期末考試日期是什么時候?條件是課程 2 的期末考試日期不能與課程 1 的期末考試日期相同,課程 3 的期末考試日期不能與課程 1 或課程 2 相同。它檢查課程一但終止在檢查課程 2 之前。這是代碼:這是它打印出來的:課程名稱是什么?一個有多少學生參加了這門課程?5這門課程的學生容量是多少?20這門課程的期末考試日期是什么時候?05/05您要添加其他課程嗎?(是/否)是第二課叫什么名字?b有多少學生參加了這門課程?10這門課程的學生容量是多少?5注冊學生的數量不能超過學生容量。按 Enter有多少學生參加了這門課程?10這門課程的學生容量是多少?20這門課程的期末考試日期是什么時候?05/05第二門課程的期末考試日期不能與第一門課程相同。按回車再試一次這門課程的期末考試日期是什么時候?10/10您要添加其他課程嗎?(是/否)是第三課叫什么名字?C有多少學生參加了這門課程?15這門課程的學生容量是多少?10注冊學生的數量不能超過學生容量。按回車有多少學生參加了這門課程?15這門課程的學生容量是多少?20第三門課程的期末考試日期是什么時候?05/05第三門課程的期末考試日期不能與第一門或第二門課程相同。按回車再試一次這門課程的期末考試日期是什么時候?10/10如您所見,更改期末考試日期的第二次嘗試滿足條件,因此它應該顯示“第三門課程的期末考試日期不能與第一門或第二門課程相同。按 Enter 并重試”,但它只是在用戶按下回車
4 回答

ibeautiful
TA貢獻1993條經驗 獲得超6個贊
這里有一個問題:
while ( final3 == final1 && final3 == final2);
應該
while ( final3 == final1 || final3 == final2);
條件應該是 OR 不是 AND。
話雖如此,我認為這是針對您正在上的課程。我會給你一些建議。借助您在上面的代碼中已經展示的知識,這一切都可以以更簡單、更清晰的方式完成。您只需要更多地考慮如何更有效地使用循環和類來實現您的目標。

人到中年有點甜
TA貢獻1895條經驗 獲得超7個贊
我會建議你有一堂課Course。
public class Course {
private String name;
private int capacity;
private int enrollment;
private Date finalExamDate;
// You add the rest.
}
您可以添加一個CourseCatalog保留List<Course>課程實例的一個。
現在了解JUnit還為時過早。保持你的類和測試代碼分開。
添加回答
舉報
0/150
提交
取消