Duda con ejercicio de positionList
Publicado por Alfredo (1 intervención) el 02/10/2018 19:38:16
Hola, como comento en el titulo tengo un ejercicio de positionList que me han mandado en la universidad.
El enunciado basicamente se trata de que ellos t van a mandar una lista (ej. [3,3,2,3,2,1,1,1,null] ) y tu la tienes que compactar eliminando las repeticiones consecutivas en una nueva lista (la nueva lista quedaria asi [3,2,3,2,1,null]).
Como en el ejemplo indicado, puede haber null en la lista.
Este es elcodigo que yo incorporo:
y este el error que me da:
java.lang.NullPointerException
at aed.individual3.OperacionCompactar.compactar(OperacionCompactar.java:25)
at aed.individual3.TesterInd3.do_check(TesterInd3.java:197)
at aed.individual3.TesterInd3.main(TesterInd3.java:51)
Exception in thread "main" java.lang.Error: Error en test: resultado incorrecto
at aed.individual3.TesterInd3.do_check(TesterInd3.java:210)
at aed.individual3.TesterInd3.main(TesterInd3.java:51)
*** Tester Error (Entrega Individual 3): NO se esperaba la excepcion: java.lang.NullPointerException
El método fue invocado con [1]
Agradecere toda la ayuda.
El enunciado basicamente se trata de que ellos t van a mandar una lista (ej. [3,3,2,3,2,1,1,1,null] ) y tu la tienes que compactar eliminando las repeticiones consecutivas en una nueva lista (la nueva lista quedaria asi [3,2,3,2,1,null]).
Como en el ejemplo indicado, puede haber null en la lista.
Este es elcodigo que yo incorporo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package aed.individual3;
import es.upm.aedlib.Position;
import es.upm.aedlib.positionlist.NodePositionList;
import es.upm.aedlib.positionlist.PositionList;
public class OperacionCompactar {
/**
* Metodo que reduce los elementos iguales consecutivos de una lista a una
* unica repeticion
* @param lista Lista de entrada
* @return Lista nueva compactada sin elementos iguales consecutivos
*/
public <E> PositionList<E> compactar (PositionList<E> lista) {
if(lista==null) {
throw new IllegalArgumentException();
}
PositionList<E> nuevaLista= new NodePositionList<E>();
for(Position<E> puntero=lista.first(); puntero!=null; puntero=lista.next(puntero)) {
if(puntero.element()!=null && puntero.element().equals(nuevaLista.last().element())) {
}
else if(puntero.element()!=null && !(puntero.element().equals(nuevaLista.last().element()))) {
nuevaLista.addLast(puntero.element());
}
else if(puntero.element()==null && puntero.element()==(nuevaLista.last().element())) {
}
else if(puntero.element()==null && !(puntero.element().equals(nuevaLista.last().element()))) {
nuevaLista.addLast(puntero.element());
}
else if(puntero.element()!=null && nuevaLista.last().element()==null) {
nuevaLista.addLast(puntero.element());
}
}
return nuevaLista;
}
}
y este el error que me da:
java.lang.NullPointerException
at aed.individual3.OperacionCompactar.compactar(OperacionCompactar.java:25)
at aed.individual3.TesterInd3.do_check(TesterInd3.java:197)
at aed.individual3.TesterInd3.main(TesterInd3.java:51)
Exception in thread "main" java.lang.Error: Error en test: resultado incorrecto
at aed.individual3.TesterInd3.do_check(TesterInd3.java:210)
at aed.individual3.TesterInd3.main(TesterInd3.java:51)
*** Tester Error (Entrega Individual 3): NO se esperaba la excepcion: java.lang.NullPointerException
El método fue invocado con [1]
Agradecere toda la ayuda.
Valora esta pregunta


0