|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
[java] ordinamento array
ho creato la classe Classe
![]() il problemuccio è che mi dà un nullPointerException sulla chiamata ![]() vuol dire che a è nullo? però il confronto a == null lo passa ![]() help! grazie, ciao! Codice:
import java.util.*; public class prova { public static void main(String[] args) { Classe[] a = new Classe[20]; a[0] = new Classe(29); a[1] = new Classe(50); a[2] = new Classe(10); Arrays.sort(a); for(int i = 0; i < a.length; i++) System.out.println(a[i]); } } class Classe implements Comparable{ Classe(int b){ this.a = b; } int a; public int compareTo(Object comp){ int tmp = ((Classe)comp).a; return (this.a < tmp ?-1 : (this.a == tmp ? 0 : 1)); } public String toString(){ StringBuffer res = new StringBuffer(a); return res.toString(); } } Ultima modifica di NA01 : 04-09-2005 alle 17:30. |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
in questa riga:
int tmp = ((Classe)comp).a; cerchi di dereferenziare un attributo (a) di un oggetto null (comp) e quindi ottieni una NullPointerException dovresti mettere un controllo ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
se fai un vettore di 20 e poi riempi solo tre oggetti, mi sembra normale che ti crei grossi problemi......
__________________
My gaming placement |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
mmmmhh...
ok, grazie. credevo troppo nella magia ![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
anzi, no!
ci riprovo ![]() con il controllo su null ha ancora dei problemi dalle parti di sort. mi sorge una domanda.... e se io ho un array non pieno che diavolo faccio? ![]() mi devo riscrivere i metodi di sort per avere i controlli anche dentro? ciao |
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
se ci sono null ti lancia qualche eccezione, almeno credo, sinceramente non ci ho mai pensato, ma credo che lanci eccezione NullPointerException
Per quanto riguarda i sort, si, credo che te li debba riscrivere.
__________________
My gaming placement |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Sep 2004
Città: Ovunque
Messaggi: 5804
|
Tu hai istanziato soltanto tre oggetti della classe "Classe" e li hai inseriti nelle posizioni a[0], a[1] e a[2]. Le posizioni restanti non contengono una mazza, da qui la NullPointerException
![]()
__________________
:: Le mie trattative :: LOL >> http://www.hwupgrade.it/forum/showth...9#post31430289 |
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Oct 2000
Messaggi: 235
|
Quote:
__________________
...writing about climbing is boring. I would rather go climbing. (Chuck Pratt) |
|
![]() |
![]() |
![]() |
#9 | |
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Quote:
![]() ![]() ![]() Certo che sarebbe bello generare una MazzaNotFoundException. Per non parlare poi del MazzaMalformedException ![]() ![]() ![]() ![]() ![]() ![]()
__________________
My gaming placement |
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Sep 2004
Città: Ovunque
Messaggi: 5804
|
Quote:
![]() ![]() ![]()
__________________
:: Le mie trattative :: LOL >> http://www.hwupgrade.it/forum/showth...9#post31430289 |
|
![]() |
![]() |
![]() |
#11 | |
Senior Member
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
|
Quote:
![]() sinceramente mi aspettavo che l'algoritmo di sorting controllasse se qualcosa era a null e lo sbattesse in fondo. tutti questi gingilli di java mi stavano abituando a sbattermene di un sacco di cose, questa volta ho passato il limite ![]() ![]() ciao! |
|
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Sep 2004
Città: Ovunque
Messaggi: 5804
|
Quote:
__________________
:: Le mie trattative :: LOL >> http://www.hwupgrade.it/forum/showth...9#post31430289 Ultima modifica di ABCcletta : 05-09-2005 alle 00:26. |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:56.