Originariamente inviato da graziano mesina
Ho provato a richiamarlo dalla classe principale

codice:
Direzione dir;

dir = dir.random();
ma quando avvio il programma mi dà l'errore:

NullPointerException null;
Il modo corretto di richiamare un metodo statico è:

nome_della_classe.metodo (...);

Quindi (come ha detto anche taita): Direzione.random ();
Queste sono cose basilari di Java ... :rollo:


Comunque volevo fare una precisazione sul mio codice (che voleva essere solo un semplice esempio): la creazione di un oggetto Random dentro il metodo random potrebbe non essere una buona cosa dal punto di vista della "pseudo-casualità". Ci sarebbero 2 soluzioni:

(1) Tenere all'interno dell'enum un campo privato e statico con un Random.
codice:
    private static Random rnd = new Random (System.currentTimeMillis ());
(2) Passare al metodo random() un oggetto Random. In questo modo il Random può essere creato al di fuori in qualunque altro modo secondo i gusti di chi dovrà utilizzare il metodo random.