2010-11-25 6 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. Я думаю, вы можете легко получить thisYear через класс Date.

0

В дополнение к ответу М. Joanis (см мой комментарий):

Я предполагаю, тип обертывание счета или подобный .. то, что изображает банковский счет. Затем ваш метод депозита будет синхронизирован следующим образом;

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

    } 
} 

Синхронизация защищает вас от одновременного доступа, вызванного проблемами. Люди самые педантичные из своих денег.

Смежные вопросы