私はJavaの初心者ですが、複雑なため、Javaのリンクリストを理解できません。だから私のコードはとてもシンプルです。
Node node, head, tail;
head = null; // initializes the head of the linked list to null
int counter = 0;
String inputdata; // input
do
{
System.out.print ("What name would you like stored? (\"quit\" to end) ");
inputdata = stdin.readLine ();
if (!inputdata.equals ("quit"))
{
node = new Node (inputdata);
node.next = head;
// update the head to point to the new front of the list
head = node;
count++;
}
}
while (!inputdata.equals ("quit")); // loop continues until "quit" selected
System.out.println ();
node = head;
///////////////////////////////
String delete;
boolean found;
System.out.println ("What node to delete?");
delete = stdin.readLine ();
do
{
for (int i = 0 ; i <= count ; i++)
{
if (delete.equals (node.data))
{
found = true;
System.out.println ("It is found!");
}
}
}
while (found = false);
これはクラスです
public class Node
{
Node next;
String data;
public Node (String data)
{
this.data = data;
}
}
アルゴリズムがどのように機能するかを理解しています。ノードが検索され、見つかった場合、そのノードの前のノードが検索されたノードの後のノードを指します。
ノードを検索するたびに、java.lang.nullpointer例外が発生します。これは、基本的にコードに変換されますが、ひどいものです。
これを行う方法を検索するときはいつでも、「なぜこれを置くのか」、「LSとは何か」、「なぜ複数のメソッドがあり、その中の変数nはいくつあるのか」と自問するので、助けが必要です。
私が間違っていることと私がしなければならないことを教えてください。