[JAVA] NullPointerException Liste

giovedì 28 giugno 2012 - 23.53
Tag Elenco Tags  Windows 7  |  Windows Vista  |  Windows XP  |  Javascript

gabry90 Profilo | Newbie

salve. Sono con questo rompicapo
Avendo una classe "Lista" e un a sua sottoclasse intera privata "listaElem" no riesco ad invertire gli elementi della lista. Ho porvato cosi ma mi viene sempre fuori l'errore di NullpointException. Il problema cè che riflettendoci su non riesco a capire dove sbaglio. forse voi potete aiutarmi?

//METODO INVERTI LISTA public void Inverti() { if (first == null) { emptylist(); } else { first = first.reverse(first, null); } }

private listaElem reverse(listaElem elem, listaElem prev) //inverti tutti gli elementi { if (this.next != null) { this.next = prev; return this.next.reverse(elem, this); } return this; }

bobo89 Profilo | Junior Member

a listaElem gli hai dato null ....

listaElem è anchessa una lista?? xke gli hai dato null???
first.reverse(first, null);

cmq guardando bene non si capisce granchè nel codice....

tu sostanzialmente hai una lista e se è soddisfatta una condizione vuoi invertire tutta la lista???
//Codice per invertire una lista private ArrayList<T> listaDaInvertire; private ArrayList<T> lista invertita; private listInvert(ArrayList<T> listaDaInvertire){ listaInvertita = new ArrayList<>(); for ( T elemento : listaDaInvertire){ listaInvertita.Add(elemento); } return listaInvertita; }


Spero di aver colto il tuo problema....

gabry90 Profilo | Newbie

grz ho gia risolto cosi:

public void Inverti() { if (first == null) { emptylist(); } else { if (totaleElementi() > 1) { first = first.reverse(null, first); } } }

private listaElem reverse(listaElem prev, listaElem elem) //inverti tutti gli elementi { listaElem tmp = elem.next; elem.next = prev; if (tmp != null) { return tmp.reverse(elem, tmp); } return elem; }


cmq tu mi hai proposto una lista già fatta nel senso che è già stata creata....io parlavo del fatto di risolvere il problema creando una lista da 0 dal lato implementativo. senno ovvio che usavo già la classe fatta :)
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5