Tu continui a confondere il valore di ritorno di una funzione con ciò che quella funzione stampa a video.
Tu hai dichiarato la funzione toString() in modo tale da ritornare un valore, non importa a nessuno che lo stampi anche a video!
In quel metodo manca l'istruzione return che permette a una funzione di restituire un valore... a chi lo restituisce? Lo restituisce alla procedura chiamante, la quale lo salverà in una variabile o lo utilizzerà in qualche modo.
Secondo me tu non vuoi restituire un valore, ma vuoi solamente stamparlo in output. Per far questo devi dichiarare il metodo toString() come void e non come tipo String.
Dichiarandolo come l'hai dichiarato tu servirebbe per fornire un risultato a qualche altra funzione che lo richiami, ad esempio questo:codice:public void toString() { ... }
Io ti consiglio di studiarti bene le basi di questo linguaggio, e anche darti un'occhiata alla programmazione imperativa, perchè sembra che tu abbia delle grosse lacune...codice:public String ritorna() { return "Ciao mondo!"; } ... video.println( ritorna() );(è solo un consiglio, non prenderla a male)
Ciao.![]()


(è solo un consiglio, non prenderla a male)

Rispondi quotando