View Full Version : [JAVA]help esercizio semplice su if
IspiCiosa
26-03-2008, 19:05
ragazzi devo fare un esercizio
ma non capisco perchè qui:
public void withdraw(double amount)
{
int y=0;
y++;
double newBalance = balance - amount;
balance = newBalance;
GregorianCalendar cal = new GregorianCalendar();
int giorno = cal.get(Calendar.DAY_OF_MONTH);
}
questo metodo ogni volta che viene invocato deve incrementare un contatore
sottrarre una somma dal conto, e se è il primo del mese invocare un altro metodo passandogli il valore del contatore...
il contatore possibilmente dovrebbe essere in comune con un altro metodo...
khelidan1980
26-03-2008, 19:57
ma la variabile y ha visibilità locale al metodo,una volta che il metodo termina,tanti saluti,alla prossima invocazione y sarà di nuovo 0,se vuoi semplicemente contare quante volte il metodo viene chiamato,su oggetti differenti magari,devi fare una variabile statica,tra tutto non capisco cosa centri if
ma la variabile y ha visibilità locale al metodo,una volta che il metodo termina,tanti saluti,alla prossima invocazione y sarà di nuovo 0,se vuoi semplicemente contare quante volte il metodo viene chiamato,su oggetti differenti magari,devi fare una variabile statica,tra tutto non capisco cosa centri if
Mi sa che in questo caso il codice non è proprio Java... :asd:
IspiCiosa
27-03-2008, 22:31
si mi sono accorto dell errore e ho creao una variabile statica...
sono alle prime armi con java...
l'esercizio che devo fare sarebbe questo qui (http://www.dsi.unive.it/~mp/Homeworks/02.pdf)
mi date qualche dritta??
IspiCiosa
28-03-2008, 09:21
ragazzi datemi na mano...
vorrei che a ogni inizio del mese venisse invocato il metodo deduci commissioni
ho scritto questo:
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
Un conto bancario ha un saldo che può essere
modificato mediante depositi e prelievi.
*/
public class BankAccount
{
static int x=0;
final int commissione = 10;
GregorianCalendar cal = new GregorianCalendar();
int giorno = cal.get(Calendar.DAY_OF_MONTH);
//Costruisce un conto bancario con saldo zero
public BankAccount()
{
balance = 0;
}
/**
Costruisce un conto con un dato saldo iniziale.
@param initialBalance il saldo iniziale
*/
public BankAccount(double initialBalance)
{
balance = initialBalance;
}
/**
Deposita un importo sul conto.
@param amount l’importo da depositare
*/
public void deposit(double amount)
{
double newBalance = balance + amount;
balance = newBalance;
x++;
}
/**
Preleva un importo dal conto.
@param amount l’importo da prelevare
*/
public void withdraw(double amount)
{
x++;
double newBalance = balance - amount;
balance = newBalance;
}
public void deducicommissioni () {
if( x > 5 ){
double newBalance = balance - ( (x-5)* commissione );
balance = newBalance;
x=0;
}
}
/**
Restituisce il saldo corrente.
@return saldo corrente
*/
public double getBalance()
{
return balance;
}
// rappresentazione
private double balance;
}
è giusto piu o meno? la mia idea è quello di mettere un if dopo la chiamata di gregoriancalendar all'inizio e se è il primo del mese mi chiama il metodo deducicommissioni...
ma non riesco a mettere l'if mi da errore se metto giorno...
non capisco il perchè....
...mh...che metodo dovrebbe fare questo controllo sul giorno del mese?...non è presente nel codice da te postato...
...ciao...
IspiCiosa
28-03-2008, 12:40
Questo è il testo dell'esercizio:
qui (http://www.dsi.unive.it/~mp/Homeworks/02.pdf)
solo che non so come fare per:
1) Modificare i metodi deposit() e withdraw() della classe BankAccount in modo che applichino, quando sono dovute, le commissioni accumulandone l’importo.
i soldi delle commisioni devono essere tolti dal conto ogni primo del mese......
2) La classe permette inoltre di ottenere l’estratto conto con il dettaglio delle operazioni effettuate. L’estratto conto contiene per ogni operazione informazioni relative al tipo di operazione (prelievo o deposito), la data in cui è stata effettuata e l’importo relativo e l’eventuale commissione.
3) Definire una nuova classe, Operazione, per rappresentare le operazioni di prelievo e deposito: la classe dovrà permettere di rappresentare tutte le informazioni necessarie per la produzione dell’estratto conto.
4)Definire una classe di test che verifichi che le commissioni sono calcolate e tracciate correttamente su un periodo di vari mesi. La verifica dovrà quindi simulare il passare del tempo, utilizzando ad esempio la classe Calendar o GregorianCalendar.
ecco come vedete sono in alto e mare e non so manco da do ve cominciare...
:mc:
ally te dici che devo fare un metodo che quando viene invocato mi controlla se è il primo del mese o no??
Questo è il testo dell'esercizio:
qui (http://www.dsi.unive.it/~mp/Homeworks/02.pdf)
1) Modificare i metodi deposit() e withdraw() della classe BankAccount in modo che applichino, quando sono dovute, le commissioni accumulandone l’importo.
i soldi delle commisioni devono essere tolti dal conto ogni primo del mese......
...penso siano questi i due metodi che dovranno fare il controllo sul primo giorno del mese...fatti uno schemino mentale o un diagramma a blocchi per comprendere il problema e poi tradurlo in linguaggio...
...ciao...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.