Bah...
Codice PHP:
GregorianCalendar calendario = new GregorianCalendar();
calendario.add(Calendar.DAY_OF_MONTH, 1);
Questo aggiunge un giorno alla data attuale rappresentata nell'oggetto Calendar. Non mi è chiaro perché..
Codice PHP:
//costo di ogni commissioni
int costocommissione = 100;
//numero commissioni gratis
int gratis = 10;
queste le definisci nel metodo, ma sembrano tanto delle costanti da definire a livello di classe. Nulla di particolare, comunque.
Codice PHP:
//se il numero delle commissioni è gratis entra nel secono ramo if
if (numcom > gratis)
{
//se è il 30esimo giorno del mese applica le commissioni
if(calendario.get(Calendar.DAY_OF_MONTH)== 30)
{
int tot = (numcom - gratis);
balance = balance - (costocommissione*tot);
}
//altrimenti aggiungi il numero di commissioni.
else
numcom++;
}
Se ci sono commissioni da pagare entri qui, se è il 30 aggiorni il bilancio del cliente, altrimenti aggiorni il numero delle commissioni.
Però mi aspetterei anche un azzeramento delle commissioni una volta che gliele hai fatte pagare...
Codice PHP:
//altrimenti sottrai il numero delle transazioni gratis fino a terminare le transazioni gratis
else
gratis--;
questo non serve a nulla perché gratis ha ciclo di vita solo nel metodo, e la prossima volta che invocherai il metodo, gratis sarà di nuovo a 10.
Eppoi mi sembra corretto far pagare al cliente il numero di commissioni fatte - il numero di commissioni gratis, quindi questo decremento proprio non lo capisco.