Visualizzazione dei risultati da 1 a 9 su 9

Visualizzazione discussione

  1. #7
    Utente di HTML.it
    Registrato dal
    Oct 2014
    residenza
    Padova
    Messaggi
    361
    Quote Originariamente inviata da luca125 Visualizza il messaggio
    Guarda mi dispiace tanto per la confusione, purtroppo il problema di imparare le cose da soli � che si impara con lacune... e mi dispiace che ti sto assillando da un po' ormai
    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.

    Quote Originariamente inviata da luca125 Visualizza il messaggio
    Comunque il codice l'ho cambiato di nuovo alla fine, i due array erano confusionari quindi ho tolto l'array drivers e ho lasciato solamente cars, dentro il quale ho istanziato i piloti. ora il programma funziona, a parte il fatto che non stampa i nomi dei piloti, ma stampa:

    Driver@6d06d69c
    Driver@7852e922
    Driver@4e25154f
    Driver@70dea4e
    Driver@5c647e05
    Driver@33909752
    The winner is Driver@7852e922

    L'errore penso sia piccolo, ma io ormai ci sto impazzendo dietro a questo programma
    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...
    Ultima modifica di Ansharja; 29-06-2016 a 12:05

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.