Java Ошибка пространства кучи | Дважды связанные списки - PullRequest
0 голосов
/ 04 февраля 2020

Цель программы - создать два двусвязных списка, прочитать числа из файла и сложить их вместе, создать новый двусвязный список и распечатать результат. Запустив его, я получаю сообщение об ошибке: Java lang out of memory: java Ошибка пространства кучи

Я относительно новичок в структурах данных и кодировании и не могу понять, что является причиной этой ошибки. Сейчас думаю, что это где-то в моем l oop, создавая дополнительные узлы в бесконечном l oop. (Включено l oop с ошибкой, не полный код).

int sum = 0;
  Digit endHead = new Digit(); //summed linked list
  Digit endCurr = endHead;
  Digit endPrev = endHead;
  while (true)
  {
      if (currOne == null && currTwo == null) //ex. at the end of addition carrying the last number.
      {
          sum = sum;
      }
      else if (currOne == null)
      {
          sum = currTwo.value + sum;
      }

      else if (currTwo == null)
      {
          sum = currOne.value + sum;
      }
      else
      {
          sum = currOne.value + currTwo.value + sum;  
      }

      endCurr.value = sum % 10; //to get the number to carry over
      sum = sum / 10; //to get the ones place

      if (currOne == null && currTwo == null && sum == 0)
      {
          break;
      }
      else
      {
          endCurr.next = new Digit();
          endCurr = endCurr.next;
          endCurr.prev = endPrev;
          endPrev = endCurr;
      }  
  }
...