
Originariamente inviata da
Ansharja
Quanto a questo non preoccuparti, il forum è fatto apposta per chiedere chiarimenti, ci sono discussioni che vanno avanti per molto tempo ed è giusto così, al massimo la gente ci mette un po' di tempo a rispondere se ha da fare
Curiosità mia riguardo al codice, che editor di testo o IDE usi per programmare?
Io con Notepad++ mi trovo benissimo, è facilissimo tenere il codice ben indentato e puoi personalizzare il modo di mostrare le parole chiave in modo da non aver bisogno di separare con tanti spazi e righe vuote i vari metodi.
Certo non è fatto apposta per compilare ed eseguire i programmi java, ma io mi trovo bene anche da linea di comando.
Ok bene la sistemazione di quella parte, ora ogni monoposto ha il proprio Driver come è giusto che sia.
Per quanto riguarda l'errore in fase di stampa hai ragione, è davvero piccolo: il metodo che usi per stampare a video (System.out.println), ma anche gli altri metodi per la stampa in generale, "scrivono" un oggetto richiamando il suo metodo toString(), che è definito in Object e viene pertanto ereditato da ogni classe che crei.
Il metodo in generale restituisce una stringa contenente nome della classe e codice hash, per cui quando si stampa un Oggetto (per i tipi primitivi e alcune classi come String questa parte non serve, il println è definito in modo specifico per ognuno di essi) devi fare l'override del metodo toString() per poter impostare la stringa che verrà stampata.
Nel tuo caso in Driver puoi fare in modo che toString() restituisca il nome e il cognome del pilota.
Riguardo al codice in generale, non ho guardato ogni specifico particolare, ma ti consiglio di fare anche quelle modifiche consigliate nei messaggi precedenti, in particolare di non costruire tanti oggetti Random, ora non fa una grande differenza ma è bene imparare ad usare solo quello di cui si ha bisogno.
Poi vedo che in molti costruttori usi ancora i metodi set, in generale come dicevo i metodi set e get vengono usati solo all'esterno delle classi...