[JAVA]NullPointerException
Stavo provando a creare delle array di oggetti in java, finchè utilizzo tipi primitivi non mi da problemi.
Appena costruisco array di oggetti e le inizializzo mi da questa eccezione: NullPointerException.
Il codice di prova è molto semplice eppure non riesco a capire dove pasticcio.
Appena costruisco array di oggetti e le inizializzo mi da questa eccezione: NullPointerException.
Il codice di prova è molto semplice eppure non riesco a capire dove pasticcio.
public class Ordina { public static void main (String [] args){ Valore a [] = new Valore [5]; for (int i=0; i<5;i++){ int casuale=10+(int)(Math.random()*20); System.out.println(casuale); a[i].valore(casuale); } System.out.println("La mia array senza ordinare:" + Arrays.toString(a)); Arrays.sort(a); System.out.println("La mia array ordinata" + Arrays.toString(a)); } } class Valore{ int val; valore (int val){ this.val=val; } Valore(){}; int getval(){ return this.val; } }
Risposte
Prima di tutto il tuo Array non è inizializzato o meglio punta tutto a null, quindi fai un for dove fai puntare ad una nuova area di memoria (a = new Valore()).
Inoltre non ho provato il codice ma da una rapida occhiata utilizzi sort in malo modo, per poterlo utilizzare così dovresti implementare la classe con Comparable (implements Comparable), se dopo ho due minuti prendo il codice e te lo aggiusto.
Inoltre non ho provato il codice ma da una rapida occhiata utilizzi sort in malo modo, per poterlo utilizzare così dovresti implementare la classe con Comparable (implements Comparable), se dopo ho due minuti prendo il codice e te lo aggiusto.