Allora, sto cercando di rimparare il java, ed ho iniziato con questo esercizio.
Definite una classe Account che modella un conto bancario e offre i
seguenti metodi.
void preleva(double amount) throws OutOfMoneyException: preleva
dal conto una somma pari ad amount, se la somma `e disponibile, ed
aggiorna il saldo. Altrimenti non modifica il saldo e lancia l’eccezione.
void deposita(double amount): versa sul conto una somma pari ad
amount e aggiorna il saldo.
double disponibilita(): restituisce l’ammontare disponibile per il prelievo,
che corrispondente al valore corrente del saldo.
Definite i campi (e gli eventuali metodi ausiliari) che ritenete necessari per realizzarele funzionalita descritte. Assicuratevi che la classe provveda correttamente all’inizializzazione delle proprie istanze, e scegliete in modo opportuno i livelli di accessibilit`a di metodi e campi.
Definite l’eccezione outOfMoneyException come eccezione checked.
Io ho fatto
Codice:
public class Account{
double saldo;
void preleva(double amount) throws outOfMoneyException{
try {
saldo=saldo-amount;
} catch (OutOfMoneyException e) {
}
}
void deposita(double amount) {}
void disponibilita() {}
Cosa devo scrivere dentro il catch?
Poi ho creato una classe OutOfMoneyException
Codice:
public class OutOfMoneyException extends Exception {
/* Questo costruttore associa all'oggetto una stringa vuota. Il nome dell'eccezzione e l'eventuale stringa possono essere recuperati inovcando sugli oggetti eccezione il metodo toString()*/
public OutOfMoneyException() {super(); } // costruttore default
/* Questo costruttore permette di associare a questi oggetti una stringa, che descrive la ragione per cui l'eccezzione è stata lanciata */
public OutOfMoneyException(String s) {
super(s)
}
}
Beh che diavolo devo metterci dentro? Come fa a sapere che il mio errore da gestire è quando amount è superiore di saldo? Dove devo scriverlo?
AIUTO! non mi ricordo più niente di java!!