簡體   English   中英

使用for循環在Java中測試天數

[英]Using for-loop to test day count in Java

首先,和我一起忍受–我只有大約一個月才學習Java。

在一個練習中,要求我(用測試單位)證明從某年(x)到某年(y),從12月31日到1月1日只有一天。 他們建議我應該使用for循環,使其在x和y年之間的所有年份中運行。

已經創建了一個名為daysTill的預定義方法。

到目前為止,我已經拿出了這段丑陋的代碼,但是沒有用:

public void testYearEnd()
{int i;
       for(i = 1635; i <=2300; i++);
            Date date1 = new Date(i, 31, 12);
            Date date2 = new Date(i, 01, 01);
            assertEquals(1, date1.daysTill(date2));
}

誰能指出我的代碼在我身上失敗的確切位置?

這里有兩個問題:你流浪; 這將結束您的陳述,而無需任何身體,使其成為無操作者,並且在預期的身體周圍缺少括號。 (沒有; ,由於Date聲明不是語句,因此不會編譯。)

您還可以將i的聲明移到for語句中(您之前不能這樣做,因為for語句由於;提前結束,因此對於Date構造函數未定義i )。

該代碼應為

public void testYearEnd() {
    for (int i = 1635; i <= 2300; i++) {
        Date date1 = new Date(i, 31, 12);
        Date date2 = new Date(i, 01, 01);
        assertEquals(1, date1.daysTill(date2));
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM