Добавление узла в конец связанного списка, имеющего задний и начальный указатели [дубликат]
На этот вопрос уже есть ответ здесь:
Я пытаюсь добавить узел в конец моего связанного списка, я получаю исключение нулевого указателя, когда я получаю оператор else и пытаюсь установить проблему.задний.рядом с новым узлом, который я добавляю. По какой-то причине, когда я пытаюсь установить задний.при следующем указателе на новый узел выскакивает исключение.
Чтобы уточнить,
BigIntegerList-это связанный список узлов, которые также являются связанными списками, представляющими большое целое число, связывая отдельные целые числа вместе. Большой целочисленный список определяет" начальный "и" задний " узлы, узел BigInteger определяет "x "для данных и" next " для указателя на следующий узел в списке.
Также,
Проблема.n представляет число BigIntegers, которые будут считываться, метод считывает из текстового файла первое число read указывает, сколько больших целых чисел будет прочитано, а затем фактические BigIntegers
Любые идеи приветствуются, так как я очень застрял....
BigIntegerList problem;
LinkedList x;
BigIntegerNode curr;
problem = new BigIntegerList();
//get value of first line stating #of bigInts to read in
problem.n = LinkedList.readInteger(in);
//read big ints from text file based on first number passed, n
for(int i=0; i<problem.n;i++)
{
x = new LinkedList();
x.readBigInteger(in);
//case that the list is empty
if(problem.n<1)
{
problem.start = new BigIntegerNode(x,null);
problem.rear = problem.start;
//list is not empty, add nodes to rear
}else
{
curr = new BigIntegerNode(x,null);
problem.rear.next = curr; -----> this is where i get a nullpointer....
problem.rear = curr;
}
}
return problem;
1 ответ:
Как предлагает @dave, измените
if (problem.n < 1)
наIf (i < 1) {
problem.n
это общее число итераций, которые будет делать цикл, то есть константа.i
- счетчик цикла. Он будет установлен в 0 в первой итерации, а затем в 1, 2, 3,..., (проблема.n)-1Поскольку вы хотите, чтобы оператор if оценивался в true в первой итерации, пусть он смотрит на i вместо задачи.n