System.out.println("insert after specified data node");
System.out.println("enter data");
int x = sc.nextInt();
Node s4 = head;
try
{
while(s4.data != x)
{
s4 = s4.next;
}
}
catch(NullPointerException e)
{
e.printStackTrace();
}
System.out.println("hi");
Node specifiedNode = new Node(x);
//s4.next = specifiedNode;
try
{
specifiedNode.next = s4.next;
s4.next = specifiedNode;
}
catch(NullPointerException e)
{
e.printStackTrace();
}
System.out.println("output after specified insertion");
Node s5 = head;
while(s5!=null)
{
System.out.println(s5.data);
s5 = s5.next;
}
}einzige verketteten Liste java
Dies ist das Beispielprogramm, um Daten nach einem bestimmten Knoten in einzelner verkettete Liste einzufügen. In dem obigen Programm ist meine Frage, warum Null-Zeiger-Ausnahme bei den folgenden Aussagen geschieht:
specifiedNode.next = s4.next;
s4.next = specifiedNode;
Bitte versuchen Sie, ein [minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve) zu erstellen und zeigen Sie uns. –
Sie müssen schreiben und zeichnen, was Sie erreichen möchten. Diese Implementierung ist weit weg. – Sedrick
'while (s4.data! = X) s4 = s4.next;' Also, wenn Sie nicht 'x' in dieser Liste haben, schlägt es fehl ... Sie sollten NPE nicht fangen, sondern sie verwalten. Für das "Warum?" _, Haben Sie nur den Wert überprüft? – AxelH