это просто глупый вопрос, почему, черт возьми, я получаю исключение при удалении элемента ... я только что видел этот код в моей однокласснице, и когда я запускаю код и выбирает DELETE я получаю NullPointerExceptionNullPointer Исключения в LinkedList
кстати Херес код .... (где я получаю сообщение об ошибке)
if(!(head.data).equals(del))
{
tail=head;
Node temp=head.next;
while(temp!=null)
{
if((temp.data).equals(del))
{
tail.next=temp.next;
size--;
break;
}
tail=temp;
temp=temp.next;
}
}
else
{
head=head.next;
}
}
else
{
System.out.println("LinkedList is empty");
}
break;
, и я очень рад, если кто-то может помочь мне с этим ....
полный код , импорт java.io. *; import java.util.LinkedList;
public class Main
{
public static void main(String[]args) throws Exception
{
BufferedReader x = new BufferedReader(new InputStreamReader(System.in));
LinkedList<String> list = new LinkedList<>();
list.add("Jarn");
list.add("Zhai");
System.out.println("List:..");
//System.out.println();
System.out.println(list);
System.out.println();
String ch,in,fi,del;
boolean kita = false;
int size=0,data;
Node head=null, tail=head;
do
{
System.out.println("Choose Option.\n1-Insert\n2-Delete\n3-Dispay\n4-Find\n5-Quit");
System.out.println();
System.out.println("Choice: ");
ch=x.readLine();
System.out.println();
switch (ch)
{
case "1":
System.out.println("Enter Name you Want to Insert..");
in=x.readLine();
list.addLast(in);
System.out.println("Name "+in+" was successfully inserted..");
System.out.println();
break;
case "2":
if(size>=0)
{
System.out.println("Enter name to del..");
del=x.readLine();
if(!(head.data).equals(del))
{
tail=head;
Node temp=head.next;
while(temp!=null)
{
if((temp.data).equals(del))
{
tail.next=temp.next;
size--;
break;
}
tail=temp;
temp=temp.next;
}
}
else
{
head=head.next;
}
}
else
{
System.out.println("LinkedList is empty");
}
break;
case "3":
System.out.println("List..");
System.out.println();
System.out.println(list);
break;
case "4":
System.out.println("Enter name You Want to Find..");
fi=x.readLine();
while(size!=(list.size()))
{
String temp = list.get(size);
if(temp.equalsIgnoreCase(fi))
{
kita=true;
}
size++;
}
if(kita)
{
System.out.println("Name: "+fi+" exists!.");
System.out.println();
}
else
{
System.out.println("Name: "+fi+" not found!.");
System.out.println();
}
break;
case "5":
System.out.println("Thank You..");
break;
default:
System.out.println("INVALID OPTION..");
System.out.println();
break;
}
}
while(!ch.equals("5"));
}
class Node
{
String data;
Node next;
Node(String d)// node class Constructor.
{
data = d;
next= null;
}
}
}
Не могли бы вы опубликовать ошибки [трассировки стека] (http://en.wikipedia.org/wiki/Stack_trace)? – Christian
Исключение в теме «main» java.lang.NullPointerException \t at Main.main (Main.java:45) Java Результат: 1 – anthraxX
Пожалуйста, отредактируйте свой вопрос с полной трассировкой стека. Также укажите с линией номер '45'. – Christian