LinkedList Рекурсивный метод -- java поле с участием recursion поле с участием linked-list поле с участием stack-overflow пол Связанный проблема

Linkedlist recursive method


0
vote

проблема

русский

Я пытаюсь написать рекурсивный метод, который печатает связанный список в обратном порядке, но я получаю ошибку Stackoverflow. Метод должен завершиться, когда последний элемент массива был достигнут, и возвращает элемент управления методом, который его называл, и тогда этот метод будет печать и вернуться к тому, которое называется его и так далее.

 <код> public void print(Node node){     if(node.next != null)        print(node.next);      System.out.println(" " + node.value + " "); }   
Английский оригинал

I'm trying to write a recursive method that prints a linked list in reverse but I get a stackoverflow error. The method should terminate when the last element of the array has been reached, and return control to the method that called it, and then that method will print and return to the one that called it and so forth.

public void print(Node node){     if(node.next != null)        print(node.next);      System.out.println(" " + node.value + " "); } 
</div
           
         
         

Список ответов

-1
 
vote

Преобразовать свой код в

 <код> public void print(Node node){    System.out.println(" " + node.value + " ");   if(node.next != null)        print(node.next);     }   
  1. Если он все еще не удается с исключением, это означает, что у вас есть циклический связанный список
  2. Если он не потерпит неудачу, это означает, что вы заполняете кучу памяти по умолчанию, присвоенную вашему приложению. Вы можете попробовать увеличить размер кучи, чтобы увидеть, разрешит ли он проблемы

После того, как вы выясните проблему, вы можете восстановить оригинальный код. Если вы хотите получить информацию о том, как увеличить размер кучи, ознакомьтесь с этой ссылкой

Увеличить размер кучи в Java

 

Convert your code into

public void print(Node node){    System.out.println(" " + node.value + " ");   if(node.next != null)        print(node.next);     } 
  1. If it still fails with an exception , it means you have a cyclic linked list
  2. If it does not fail, it means you are filling up the default memory heap assigned to your application. You can try increasing the heap size to see if it resolves the problems

Once you figure out the issue, you can restore the original code.If you want info on how to increase heap size, check out this link

Increase heap size in Java

</div
 
 
   
   

Связанный проблема

21  Не мог зарезервировать достаточно места для кучи объекта, чтобы начать JVM  ( Could not reserve enough space for object heap to start jvm ) 
Просто столкнулся со странной проблемой. Когда я набрал <код> java -version Я получил <код> Error occurred during initialization of VM Could not reser...

0  Почему этот модульный тест говорит, что мой каталог не существует, когда он делает?  ( Why does this unit test say my directory doesnt exist when it does ) 
Этот код <код> URL listofFiles = this.getClass().getResource("someDir"); File f = new File(listofFiles.toString()); File[] files = f.listFiles(); работа...

154  Любой способ вызвать частный метод?  ( Any way to invoke a private method ) 
У меня есть класс, который использует XML и отражение для возврата <код> Object s на другой класс. Обычно эти объекты являются подпольными полями внешнего ...

0  Класс libgdx не рисует текстуру  ( Libgdx class does not draw texture ) 
Я пытаюсь нарисовать игровой символ в моем классе "MaigaMestreen.java" из класса "Mavans.java", когда я касаюсь экрана моего телефона. К сожалению, моя прогр...

87  Регулярное выражение для URL-адресов в Java  ( Regular expression to match urls in java ) 
<Р> Я использую RegexBuddy при работе с регулярными выражениями. Из своей библиотеки я скопировал регулярное выражение для URL-адресов. Я успешно протестирован...

60  Получение ConcurrentModificationException брошенного при удалении элемента из списка java.util.List во время итерации? [Дубликат]  ( Getting a concurrentmodificationexception thrown when removing an element from a ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже есть ответы здесь : ...

-3  Я хочу знать, как извлечь данные из файла PDF с помощью Java [Закрыто]  ( I want to know how to extract data from a pdf file using java ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> закрыт . Этот вопрос должен быть больше Фокусированный . В настоя...

0  Реализация ARP Smooth  ( Implementing arp sweep ) 
Я играю с libpcap / jpcap. Реализация Sweeper ARP. Я отправляю запрос на все IP в блоке до вещательного адреса и чтения ответов. Теперь я не могу думать о том...

27  Отслеживание запроса XML / Ответы с JAX-WS при возникновении ошибки  ( Tracing xml request responses with jax ws when error occurs ) 
Я хочу войти в систему RAW Post Post, если есть какие-либо ошибки, я использую JAX-WS. Любая помощь будет оценена. Есть просто простым способом (ака: не исп...

0  Как повторять первые столбцы, затем строки для чтения листа Excel в Java  ( How to iterate first columns then rows to read excel sheet in java ) 
Я хочу прочитать лист Excel так что я хочу прочитать мои данные 1-го столбца и повторять все строки, затем 2-й столбец Так как это сделать. Я сначала попроб...

0  Android Studio Back Button  ( Android studio back button problems ) 
на данный момент. Я создал простое приложение для викторины на Android Studio. Все работает нормально, в том числе, когда я иду от первой фактической жизни. Я...

5  Веб-сервисы в Java  ( Web services in java ) 
Что вы обычно используете для подключения к веб-сервису, когда вы разрабатываете проект Java? Есть разные API-S, которые могут сделать работу. Из разных кни...

0  Как удалить нынешние barchart (jfreechart), отображаемый и отображаю новый Barchart в том же представлении плагина Eclipse RCP?  ( How to delete the present barchartjfreechart displayed and display new barchar ) 
Я создаю Barchart с видом на плагин RCP. Данные, которые будут отображаться на графике, поставляется из файла базы данных SQLite3. Код, который я написал, ото...

0  Что такое ошибка Java: 93: достигается конца файла во время анализа?  ( What is java error 93 reached end of file while parsing ) 
Это может быть относительно простым вопросом, но почему моя программа получает эту ошибку: Express.java: 93: Ошибка: достигается до конца файла во время анали...

1  Реализация интерфейса Realmmodel при расширении другого объекта  ( Implementing realmmodel interface while extending another object ) 
Я хочу использовать новую функцию realm-java, где я могу просто реализовать интерфейс Realmmodel и добавить аннотацию @realmclass для определения таблицы. Все...

Связанный проблема

21  Не мог зарезервировать достаточно места для кучи объекта, чтобы начать JVM 
0  Почему этот модульный тест говорит, что мой каталог не существует, когда он делает? 
154  Любой способ вызвать частный метод? 
0  Класс libgdx не рисует текстуру 
87  Регулярное выражение для URL-адресов в Java 
60  Получение ConcurrentModificationException брошенного при удалении элемента из списка java.util.List во время итерации? [Дубликат] 
-3  Я хочу знать, как извлечь данные из файла PDF с помощью Java [Закрыто] 
0  Реализация ARP Smooth 
27  Отслеживание запроса XML / Ответы с JAX-WS при возникновении ошибки 
0  Как повторять первые столбцы, затем строки для чтения листа Excel в Java 
0  Android Studio Back Button 
5  Веб-сервисы в Java 
0  Как удалить нынешние barchart (jfreechart), отображаемый и отображаю новый Barchart в том же представлении плагина Eclipse RCP? 
0  Что такое ошибка Java: 93: достигается конца файла во время анализа? 
1  Реализация интерфейса Realmmodel при расширении другого объекта