Salut J'ai écrit un tel code mais il va retourner cette exception .et je ne sais pas pourquoi s'il vous plaît aidez-moi merci.à propos de l'exception de pointeur nul
private void Scan(DoublyLinkedList dList) { // T(n) = O(n)
DNode p1 = dList.getFirst();
while (p1!=null) {
DNode p2 = p1.next;
System.out.println(p1.getElement().toString()+"lol");
if (p2.next!=null) {
DNode p3 = p2.next;
if(p3.getElement()!=null){
boolean b = Determinate.isPointRightSide(p1.getElement(), p2.getElement(),p3.getElement());
if (b == true) {
p1 = p1.next;
} else {
p1.next = p3;
p3.prev = p1;
dList.remove(p2);
p1 = p1.prev;
}
}
else break;
}else break;}
}
public static double determinate(Object get, Object get0, Object get1) {
double data[][] = new double[3][2];
data[0][0] = ((Point) get).getX();
data[0][1] = ((Point) get).getY();
data[1][0] = ((Point) get0).getX();
data[1][1] = ((Point) get0).getY();
**data[2][0] = ((Point) get1).getX();**
data[2][1] = ((Point) get1).getY();
return ((data[0][0] * (data[1][1] - data[2][1])) - (data[1][0] * (data[0][1] - data[2][1])) + (data[2][0] * (data[0][1] - data[1][1])));
}
exception:
run:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at ConvexHull.Determinate.determinate(Determinate.java:55)
at ConvexHull.Determinate.isPointRightSide(Determinate.java:15)
at ConvexHull.GrahamVersion.Scan(GrahamVersion.java:104)
at ConvexHull.GrahamVersion.grahamScan(GrahamVersion.java:83)
at ConvexHull.GrahamVersion.<init>(GrahamVersion.java:25)
at UI.MainFrame.grahamButtonActionPerformed(MainFrame.java:221)
cela montre que "p3" est nul! mais j'ai vérifié "p3" pourquoi il renvoie "null" encore? J'utilise fort pour montrer ces lignes qui lève exception.
EDIT: Ihave édité mon post, mais il lancera cette exception pour "p1"
Je jure que je viens de parler sur une question similaire à celle-ci. Avez-vous vérifié que vos objets 'get' ne sont pas' null'? – birryree
obtenir l'objet pour p3 est nul! Je ne sais pas pourquoi? Je l'ai vérifié avant avec! P3.equals (null) – user472221
J'ai utilisé p3! = null mais jette toujours une exception nullpointer. – user472221