Título: ERROR JAVA NEAT BEANS Publicado por: KLuffy en 18 Junio 2012, 22:49 pm Que tal, les explico que hace mi programa, basicamente guarda los 10 numeros con absisa menor introducidos por el usuario, el problema es que me marca un error al querer asignar una nueva variable del tipo de una clase anterior, el error es:
Exception in thread "main" java.lang.NullPointerException at arreglo.ArregloPuntos.agregarPunto(ArregloPuntos.java:29) at arreglo.Principal.main(Principal.java:36) el problema me lo marca en la siguiente instrucción puntos = p; les dejo todo el codigo espero me puedan ayudar: ****************Clase Arreglo punto************************* package arreglo; import geometria.Punto; //Se importa la clase Punto a la libreria public class ArregloPuntos extends Punto{ private Punto puntos[]; private int numPuntos; private int i; public ArregloPuntos(){ numPuntos = 0; i = 0; puntos = null; } //se agrega Punto public void agregarPunto(Punto p){ if (numPuntos == 10){ if (p.obtenX()>puntos[numPuntos-1].obtenX()) return; } else numPuntos++; //incrementa el valor de numpuntos = 1 (primer corrida) i = numPuntos-1; // da el valor de i = 0 for( ;(i>1)&&(p.obtenX()<puntos[i-1].obtenX());i--){ puntos = puntos[i-1]; } puntos = p; //System.out.println("p1 es "+ puntos.distancia(p)); } public void eliminar(int i) throws IndexOutOfBoundsException{ if((i<1)||(i>numPuntos)) throw new IndexOutOfBoundsException("Indice Invalido: "+i); Punto pu = puntos[i-1]; //nos deja definirlo sin new for(int j=i; j<numPuntos; j++) puntos[j-1] = puntos[j]; puntos[numPuntos-1]=null; numPuntos--; } } ****************Clase Punto************************ package geometria; /** * Se genera la clase Punto */ public class Punto { public double x; //se usa protected para que los miembros sean accesibles public double y; //desde cualquier subclase de punto (en este caso p1 y p2 de linea // tambien se pudo usar public pero es riesgoso ya que todos tendran acceso //Constructor por omisión public Punto(){ x=y=0; } public Punto (double x, double y){ this.x = x; this.y = y; } //Se genera un constructor de copia, el nuevo objeto que se crea copia el //estado que gusrda el parametro que le estoyt pasando del objeto original public Punto(Punto p){ x = p.x; y = p.y; } //Se obtienen los valores de los puntos X y Y public double obtenX(){ return x; } public double obtenY(){ return y; } public void asignaX(double x){ this.x = x; } public void asignaY(double y){ this.y = y; } public void asignaPunto(double x, double y){ this.x = x; this.y = y; } public void asignaPunto (Punto p){ this.x = p.obtenX(); // x = p.x; this.y = p.obtenY(); // y = p.y; } public double distancia(Punto p){ return Math.sqrt((x-p.x)*(x-p.x) + Math.pow(y-p.y, 2)); } public boolean colineales (Punto p1, Punto p2){ return (y - p1.y)*(p2.x - p1.x) == (p2.y - p1.y)*(x-p1.x); } public String toString(){ return "(" + x + "," + y + ")"; } public boolean equals(Object obj){ Punto punto = (Punto) obj; return x==punto.x && y==punto.y; } } ***** Pd el programa ya se entrego pero no puedo dormir en las noches, por que no esta resuelto jajaja Título: Re: ERROR JAVA NEAT BEANS Publicado por: KLuffy en 18 Junio 2012, 23:09 pm jajaja que oso ya arregle mi problema y esra bastante estupido, aun asi pongo la respuesta por si a alguien le pasa
no habia creado el arreglo, solo habia hecho la referencia al arreglo la linea que me faltaba era la siguiente dentro del metodo que llamaba a mi arreglo puntos = new Punto[10]; y eso era todo ustedes disculpen jajaja ;D |