2010-11-25 49 views
0

我該如何編碼一種方法,允許在每年的某個月之前將數字添加到另一個數字中?例如,我希望能夠在銀行中獲得每年最高存款金額,然後在第二年再次開始最高存款金額。Java - 在每年的某個月之前

+0

我不知道你的意思。如果程序正在運行,您是否需要每年在特定時間觸發的方法?還是你想計算日期或天數? – DGH 2010-11-25 01:07:36

+0

我希望能夠在銀行每年最高存款金額。然後第二年最高存款金額再次開始。 – Chris 2010-11-25 01:11:59

回答

0

根據您的評論,我認爲您需要的是邊界檢查,以及調整是否已經發生的標誌。

因此,在您存款方法中,您將檢查當前日期是否在最大金額重置日期之前或之後。如果它在之後,並且今年還沒有重置,請重置。

0

你可能有這樣的事情

private static final double YEARLY_MAXIMUM = 100000; 

void deposit(double amount) { 
    if (yearLastUpdated != thisYear) { 
     amountLeftForDeposit = YEARLY_MAXIMUM; 
     yearLastUpdated = thisYear; 
    } 
    /* ... Code for deposit, checking that we're not busting this year's limit. */ 
} 

你必須照顧持久性的amountLeftForDeposit和yearLastUpdated。我認爲你可以通過Date類輕鬆獲得thisYear。

0

除了M. Joanis的答案(見我的評論):

我假設,包裝類型的帳戶或類似的東西..描繪一個銀行帳戶。然後您的存款方式將如下同步:

void deposit(double amount) { 
    synchronized(this /* Account class instance */) { 

    } 
} 

同步保護您免受併發訪問導致的問題。人們是他們的錢最迂腐..