Java.lang.NullPointerException
Pues estoy realizando un programa, pero cuando lo testeo me salta ese error, lo he estado revisando pero no sé porqué puede ser, te pongo el código:
public class Pregunta{
private String idPregunta;
public String getIdPregunta() {
return idPregunta;
}
public void setIdPregunta(String idPregunta) {
this.idPregunta = idPregunta;
}
private String tituloPregunta;
public String getTituloPregunta() {
return tituloPregunta;
}
public Pregunta(String idPregunta, String tituloPregunta){
this.idPregunta = idPregunta;
this.tituloPregunta = tituloPregunta;
}
public Pregunta() {
}
public String toString() {
return "Pregunta [idPregunta=" + idPregunta + ", tituloPregunta="
+ tituloPregunta + "]";
}
public void setTituloPregunta(String tituloPregunta) {
this.tituloPregunta = tituloPregunta;
}
}
public class PreguntaCerrada extends Pregunta {
public PreguntaCerrada(String idPregunta, String tituloPregunta) {
super(idPregunta, tituloPregunta);
}
private List opcionCerrada;
public PreguntaCerrada(){
opcionCerrada = new ArrayList();
}
public List getOpcionCerrada() {
return opcionCerrada;
}
public Iterator opcionCerradaIterator() {
return opcionCerrada.iterator();
}
public boolean isOpcionCerradaEmpty() {
return opcionCerrada.isEmpty();
}
public boolean containsOpcionCerrada(OpcionCerrada opcionc) {
return opcionCerrada.contains(opcionc);
}
public boolean containsAllOpcionCerrada(Collection opcionc) {
return opcionCerrada.containsAll(opcionc);
}
public int opcionCerradaSize() {
return opcionCerrada.size();
}
public OpcionCerrada[] opcionCerradaToArray() {
return opcionCerrada.toArray(new OpcionCerrada[opcionCerrada.size()]);
}
public OpcionCerrada[] opcionCerradaToArray(OpcionCerrada[] opcionCerrada) {
return this.opcionCerrada.toArray(opcionCerrada);
}
public boolean addOpcionCerrada(OpcionCerrada opcionc) {
return opcionCerrada.add(opcionc);
}
public void setOpcionCerrada(List opcionc) {
opcionCerrada = opcionc;
}
public boolean removeOpcionCerrada(OpcionCerrada opcionc) {
return opcionCerrada.remove(opcionc);
}
public void clearOpcionCerrada() {
this.opcionCerrada.clear();
}
}
public class OpcionCerrada {
private String idOpcion;
private String descripcionOpcionCerrada;
@Override
public String toString() {
return "OpcionCerrada [idOpcion=" + idOpcion
+ ", descripcionOpcionCerrada=" + descripcionOpcionCerrada
+ "]";
}
public OpcionCerrada(String idOpcion, String descripcionOpcionCerrada) {
super();
this.idOpcion = idOpcion;
this.descripcionOpcionCerrada = descripcionOpcionCerrada;
}
public String getDescripcionOpcionCerrada() {
return descripcionOpcionCerrada;
}
public void setDescripcionOpcionCerrada(String descripcionOpcionCerrada) {
this.descripcionOpcionCerrada = descripcionOpcionCerrada;
}
public String getIdOpcion() {
return idOpcion;
}
public void setIdOpcion(String idOpcion) {
this.idOpcion = idOpcion;
}
private PreguntaCerrada preguntaCerrada;
public PreguntaCerrada getPreguntaCerrada() {
return preguntaCerrada;
}
public void setPreguntaCerrada(PreguntaCerrada preguntaCerrada) {
this.preguntaCerrada = preguntaCerrada;
}
}
public class TestPrueba {
public static void main(String[] args) {
PreguntaCerrada pc1 = new PreguntaCerrada("1111-A","¿Qué te pareció el partido?");
OpcionCerrada oc11 = new OpcionCerrada("1111-O","Fatal");
OpcionCerrada oc12 = new OpcionCerrada("1112-O","Mal");
OpcionCerrada oc13 = new OpcionCerrada("1113-O","Bien");
OpcionCerrada oc14 = new OpcionCerrada("1114-O","Muy bien");
pc1.addOpcionCerrada(oc11);
pc1.addOpcionCerrada(oc12);
pc1.addOpcionCerrada(oc13);
pc1.addOpcionCerrada(oc14);
System.out.println(pc1.getOpcionCerrada());
}
}
Creo que el fallo viene del método "addOpcionCerrada" de la clase "PreguntaCerrada", de ahí es de donde yo creo que viene el fallo de java. Lang. NullPointerException, pero no sé porqué puede ser.
A ver si me pudieras ayudar.
public class Pregunta{
private String idPregunta;
public String getIdPregunta() {
return idPregunta;
}
public void setIdPregunta(String idPregunta) {
this.idPregunta = idPregunta;
}
private String tituloPregunta;
public String getTituloPregunta() {
return tituloPregunta;
}
public Pregunta(String idPregunta, String tituloPregunta){
this.idPregunta = idPregunta;
this.tituloPregunta = tituloPregunta;
}
public Pregunta() {
}
public String toString() {
return "Pregunta [idPregunta=" + idPregunta + ", tituloPregunta="
+ tituloPregunta + "]";
}
public void setTituloPregunta(String tituloPregunta) {
this.tituloPregunta = tituloPregunta;
}
}
public class PreguntaCerrada extends Pregunta {
public PreguntaCerrada(String idPregunta, String tituloPregunta) {
super(idPregunta, tituloPregunta);
}
private List opcionCerrada;
public PreguntaCerrada(){
opcionCerrada = new ArrayList();
}
public List getOpcionCerrada() {
return opcionCerrada;
}
public Iterator opcionCerradaIterator() {
return opcionCerrada.iterator();
}
public boolean isOpcionCerradaEmpty() {
return opcionCerrada.isEmpty();
}
public boolean containsOpcionCerrada(OpcionCerrada opcionc) {
return opcionCerrada.contains(opcionc);
}
public boolean containsAllOpcionCerrada(Collection opcionc) {
return opcionCerrada.containsAll(opcionc);
}
public int opcionCerradaSize() {
return opcionCerrada.size();
}
public OpcionCerrada[] opcionCerradaToArray() {
return opcionCerrada.toArray(new OpcionCerrada[opcionCerrada.size()]);
}
public OpcionCerrada[] opcionCerradaToArray(OpcionCerrada[] opcionCerrada) {
return this.opcionCerrada.toArray(opcionCerrada);
}
public boolean addOpcionCerrada(OpcionCerrada opcionc) {
return opcionCerrada.add(opcionc);
}
public void setOpcionCerrada(List opcionc) {
opcionCerrada = opcionc;
}
public boolean removeOpcionCerrada(OpcionCerrada opcionc) {
return opcionCerrada.remove(opcionc);
}
public void clearOpcionCerrada() {
this.opcionCerrada.clear();
}
}
public class OpcionCerrada {
private String idOpcion;
private String descripcionOpcionCerrada;
@Override
public String toString() {
return "OpcionCerrada [idOpcion=" + idOpcion
+ ", descripcionOpcionCerrada=" + descripcionOpcionCerrada
+ "]";
}
public OpcionCerrada(String idOpcion, String descripcionOpcionCerrada) {
super();
this.idOpcion = idOpcion;
this.descripcionOpcionCerrada = descripcionOpcionCerrada;
}
public String getDescripcionOpcionCerrada() {
return descripcionOpcionCerrada;
}
public void setDescripcionOpcionCerrada(String descripcionOpcionCerrada) {
this.descripcionOpcionCerrada = descripcionOpcionCerrada;
}
public String getIdOpcion() {
return idOpcion;
}
public void setIdOpcion(String idOpcion) {
this.idOpcion = idOpcion;
}
private PreguntaCerrada preguntaCerrada;
public PreguntaCerrada getPreguntaCerrada() {
return preguntaCerrada;
}
public void setPreguntaCerrada(PreguntaCerrada preguntaCerrada) {
this.preguntaCerrada = preguntaCerrada;
}
}
public class TestPrueba {
public static void main(String[] args) {
PreguntaCerrada pc1 = new PreguntaCerrada("1111-A","¿Qué te pareció el partido?");
OpcionCerrada oc11 = new OpcionCerrada("1111-O","Fatal");
OpcionCerrada oc12 = new OpcionCerrada("1112-O","Mal");
OpcionCerrada oc13 = new OpcionCerrada("1113-O","Bien");
OpcionCerrada oc14 = new OpcionCerrada("1114-O","Muy bien");
pc1.addOpcionCerrada(oc11);
pc1.addOpcionCerrada(oc12);
pc1.addOpcionCerrada(oc13);
pc1.addOpcionCerrada(oc14);
System.out.println(pc1.getOpcionCerrada());
}
}
Creo que el fallo viene del método "addOpcionCerrada" de la clase "PreguntaCerrada", de ahí es de donde yo creo que viene el fallo de java. Lang. NullPointerException, pero no sé porqué puede ser.
A ver si me pudieras ayudar.
2 respuestas
Respuesta de dimondi21
1
Respuesta de roberto mota
1