1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
|
|
1 | |
Обновление переменной и рекурсия08.02.2019, 09:43. Показов 5289. Ответов 17
Метки нет (Все метки)
Здравствуйте, уважаемые форумчане! Пытался переписать рекурсивный метод для языка Java (изначально метод написан на языке C++). Но столкнулся со следующей проблемой: во-первых, в Java, как я понял, нельзя передавать параметр по умолчанию, а во-вторых и что самое главное, я не смог использовать статическую переменную внутри рекурсивной функции, чтобы она обновлялась при каждом вызове этой функции. Подскажите, пожалуйста, как это можно сделать на Java и, если можно, с небольшим примером.
0
|
08.02.2019, 09:43 | |
Ответы с готовыми решениями:
17
Вечное обновление элемента (или вечная рекурсия) Обновление переменной Обновление переменной обновление переменной |
08.02.2019, 09:49 | 2 | |||||
считаем от 0 до 10 с помощью рекурсии и статической переменной
1
|
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
|
||||||
08.02.2019, 09:55 | 3 | |||||
не понятно, что ты имеешь ввиду?
1
|
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
|
||||||
08.02.2019, 10:05 | 5 | |||||
не, понял, что он хотел!
1
|
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
|
|
08.02.2019, 11:42 | 7 |
InvalidCode, он хотел в методе изменить значение переменной, которая вне метода.
1
|
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
|
|
08.02.2019, 13:19 | 9 |
ну попробуй, не ссылочную переменную изменить в методе так, чтобы ее значение вне метода, так же изменилось!
1
|
08.02.2019, 14:00 | 10 | |||||
1
|
2677 / 1995 / 496
Регистрация: 17.02.2014
Сообщений: 9,357
|
||||||
08.02.2019, 15:22 | 11 | |||||
InvalidCode,
вот, что я понимаю под рекурсией:
1
|
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
|
|||||||||||
08.02.2019, 18:54 [ТС] | 12 | ||||||||||
Aviz__, InvalidCode, спасибо за ваши ответы. Проблема в том, что в Java нельзя использовать статические переменные внутри метода, а также параметры по умолчанию. Раньше было так:
0
|
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
|
|
08.02.2019, 19:12 | 13 |
Пока сложно понять что вы хотите.
Статические переменные общее для всех экземпляров класса. Они должны быть на уровне класса. Если вы хотите чтобы для каждого экземпляра класса вызывался свой spiral() и ваши "начальные" значения не перемешивалить (при обновлении при каждом вызове) между экземплярами не перемешивались, их надо разделить, сделать не статическими а инстанс.
1
|
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
|
||||||
08.02.2019, 19:24 [ТС] | 14 | |||||
ViktorFX, здравствуйте! Спасибо за ваш ответ. Я хочу вызывать рекурсивную функцию spiral() снова и снова, и чтобы при каждом ее вызове эти переменные не теряли значение. То есть, чтобы спираль раскручивалась.
Добавлено через 6 минут ViktorFX, раньше (в C++) код был таким:
0
|
Am I evil? Yes, I am!
17589 / 10339 / 2825
Регистрация: 21.10.2017
Сообщений: 22,412
|
|
08.02.2019, 19:38 | 15 |
Fixer_84, а что мешает передать "значения по умолчанию" при первом вызове метода?
Ну, это если я правильно понял ситуацию...
1
|
528 / 263 / 70
Регистрация: 11.12.2016
Сообщений: 1,223
|
||||||
08.02.2019, 19:39 | 16 | |||||
Fixer_84,
Я в код не вникал, что такое n вообще не знаю, синтаксис не проверял (пишу прямо в форуме). Вот идея от Aviz__, InvalidCode, (насколько я понял, думаю они сами потом ответят) применимая к вашей задачи.
1
|
Am I evil? Yes, I am!
17589 / 10339 / 2825
Регистрация: 21.10.2017
Сообщений: 22,412
|
|||||||||||
08.02.2019, 19:46 | 17 | ||||||||||
Сообщение было отмечено Fixer_84 как решение
Решение
Fixer_84, типа того
1
|
1505 / 968 / 812
Регистрация: 30.04.2016
Сообщений: 3,334
|
|
08.02.2019, 20:48 [ТС] | 18 |
iSmokeJC, да, спасибо. Все верно. Просто, кажется, устал после рабочей недели. Проблема была лишь в том, что в Java нельзя использовать параметры по умолчанию (при объявлении списка параметров). Зачем я сюда приплел вообще статические переменные...Они здесь вообще не нужны
0
|
08.02.2019, 20:48 | |
08.02.2019, 20:48 | |
Помогаю со студенческими работами здесь
18
Обновление переменной Обновление переменной сессии? Динамическое обновление значения переменной Обновление переменной в catch не работает Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |