Ciao a tutti, avrei bisogno d'aiuto con il metodo toString.
Il mio programma dovrebbe stampare una stringa in base alla moneta inserita. La stringa deve essere restituita da un metodo, richiamato dal main.
Il codice è questo:
public class Moneta {
private double moneta; //variabile d'istanza che conterrà un valore in euro
public void setMoneta(double moneta) {
if (moneta!=0.01&&moneta!=0.02&&moneta!=0.05&&moneta!=0.1&&moneta!=0.2&&moneta!=0.5&&moneta!=1&&moneta!=2){
System.out.println("Valore non valido"); //se i valore e' nullo, viene stampato questo messaggio
}
else
{
this.moneta=moneta; //se il valore non è nullo, viene salvato il valore della moneta
}
}
public double getMoneta(){ //questo metodo restituisce la moneta
return moneta;
}
public String toString(){
if (moneta==0.01){
return "Valore: 1 centesimo; Bordo: liscio; Disegno: Castel del Monte ad Andria"+moneta;
}
if (moneta==0.02){
return "Valore: 2 centesimi; Bordo: liscio con un singolo solco centrale; Disegno: La Mole Antonelliana di Torino"+moneta;
}
if (moneta==0.05){
return "Valore: 5 centesimi; Bordo: liscio; Disegno: Il Colosseo a Roma"+moneta;
}
if (moneta==0.1){
return "Valore: 10 centesimi; Bordo: smerlato (bordo rigato); Disegno: Particolare della Nascita di Venere di Sandro Botticelli"+moneta;
}
if (moneta==0.2){
return "Valore: 20 centesimi; Bordo: liscio con sette rientranze (Fiore spagnolo); Disegno: Forme uniche della continuità nello spazio di Umberto Boccioni"+moneta;
}
if (moneta==0.5){
return "Valore: 50 centesimi; Bordo: smerlato (bordo rigato); Disegno: Statua equestre di Marco Aurelio sul disegno michelangiolesco di Piazza del Campidoglio a Roma"+moneta;
}
if (moneta==1){
return "Valore: 1 euro; Bordo: sei segmenti alternati, tre lisci, tre finemente rigati; Disegno: L'Uomo Vitruviano di Leonardo da Vinci"+moneta;
}
if (moneta==2){
return "Valore: 2 euro; Bordo: ripetizione di 2, capovolti e non; Disegno: Ritratto di Dante Alighieri ripreso dall'affresco La Disputa del Sacramento di Raffaello Sanzio"+moneta;
}
}
}
public class TestMoneta { //classe contenente il main
public static void main (String args[]) {
Moneta ogg1=new Moneta(); //creazione degli oggetti
Moneta ogg2=new Moneta();
Moneta ogg3=new Moneta();
ogg1.setMoneta(0.20); //vengono passati i valori
ogg2.setMoneta(0.01);
ogg3.setMoneta(1);
System.out.println("La moneta inserita e' €"+ogg1.getMoneta()); //vengono stampati i valori inseriti
System.out.println("Descrizione moneta: "+ogg1.toString());
System.out.println("La moneta inserita e' €"+ogg2.getMoneta());
System.out.println("Descrizione moneta: "+ogg2.toString());
System.out.println("La moneta inserita e' €"+ogg3.getMoneta());
System.out.println("Descrizione moneta: "+ogg3.toString());
}
}
Io non so perché, ma da un errore e non stampa le stringhe.
Perdonate la mia ignoranza, ma ho cercato tanto e non sono riuscita a trovare niente.
Grazie in anticipo per l'aiuto