2016-03-07 87 views
-3
public class Person 
private final Date birthDate; 
// others fields omitted 
public boolean isBabyBoomer() { 
Calendar gmtCal = 
Calendar.getInstance(TimeZone.getTimeZone("GMT")); 
gmtCal.set(1946,Calendar.JANUARY,1,0,0,0); 
Date boomStart =gmtCal.getTime(); 
gmtCal.set(1965,Calendar.JANUARY,1,0,0,0); 
Date boomEnd = gmtCal.getTime(); 
return birthDate.compareTo(boomStart) >= 0 && //where is Birthdate instance 
               // to compare         
birthDate.compareTo(boomEnd) < 0; 

} 
} 
  1. 何時以及如何在程序獲取生日實例?
  2. 他們是否省略了該實例的編碼過程?
  3. 爲了什麼目的,他們將結果與零(> =和<)進行比較?
  4. 我們不能使用簡單返回而不使用零整數(布爾值僅用於測試)嗎?
+1

本書假設你可以爲自己工作這些東西,所以我建議你嘗試這樣做。你可以在沒有任何附加信息的情況下回答這些問題,這裏沒有任何技巧。 –

+0

一個棘手的問題是;爲'boomStart'提出了一個不同的日期,並說出爲什麼這可能比使用1月1日更好。 –

+0

謝謝彼得,我們可以寫回報作爲回報birthDate.compareTo(boomStart)&& birthDate.compareTo(boomEnd);不知道如何設置生日,我很難測試(編譯)。任何人都可以通過編寫完整的代碼來獲得生日日期,謝謝 – karthick

回答

0
  1. 給定的事實birthDate是決賽,我會說,它傳遞給通過構造類,

  2. 這是書籍和其他tutorin材料,常見的做法是忽略它們是不相關的代碼位對於給定的例子,以避免爲讀者創造額外confision

  3. 方法compareTo返回int因此,如果你想將其轉換爲布爾結果,你必須把它比作一定數量的使用中的一個運營商==, !=, <, >, <=, >=

  4. 你想如何使用簡單的回報?

相關問題