25.08.2013 / 23:10 | |
usb_device Пользователь Сейчас: Offline
Имя: Денис Откуда: USB Регистрация: 07.01.2013
| SeTSeR, гугли "стек", конкретно в памяти. Чем больше ты вызываешь свой метод рекурсивно тем больше стек, но размеры же его не безграничны.
|
26.08.2013 / 09:05 | |
SeTSeR Пользователь Сейчас: Offline
Имя: Сергей Откуда: Где-то возле Москвы Регистрация: 01.07.2012
| aNNiMON, 1)Я знаю, зачем это сделано. 2) При вызове метода на стек кладётся адрес возврата из него+аргументы, если они есть. А мне надо просто выполнить операторы метода ещё раз,как в goto.
|
26.08.2013 / 09:10 | |
RGT Пользователь Сейчас: Offline
Имя: Snork Откуда: Yerevan Регистрация: 03.02.2010
| SeTSeR, т.е. label:
// Some code here
goto label
??? __________________
don't tread on me |
26.08.2013 / 09:28 | |
SeTSeR Пользователь Сейчас: Offline
Имя: Сергей Откуда: Где-то возле Москвы Регистрация: 01.07.2012
| RGT, да, но в яве нет goto. |
26.08.2013 / 10:35 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| что? есть и метки и гото. погугли. даже Сергей когда-то демонстрировал как ими пользоватся. но лучше вариант while( true ) { count++; if ( count == 10 ) break; } или for (; { count++; if( count == 10 ) break; } __________________
знает толк |
26.08.2013 / 10:39 | |
SeTSeR Пользователь Сейчас: Offline
Имя: Сергей Откуда: Где-то возле Москвы Регистрация: 01.07.2012
| vl@volk, goto нет, метки - есть. Но как-то неправильно писать вот такую закорючку: while(true)
{
int i = 1;
break label1;
}
только чтобы попасть в начало метода. |
26.08.2013 / 11:17 | |
Salat-Cx65 Пользователь Сейчас: Offline
Имя: Сергей Откуда: Кременчуг Регистрация: 23.03.2010
| ох вы и говнокодите тут господа. Перешли на процедурное программирование вместо ООП. Чаны с горячей смолой вам уже заказаны. Сорри за оффтоп. |
26.08.2013 / 11:22 | |
SeTSeR Пользователь Сейчас: Offline
Имя: Сергей Откуда: Где-то возле Москвы Регистрация: 01.07.2012
| Salat-Cx65, ну так,предложи решение в стиле ООП
|
26.08.2013 / 11:39 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| SeTSeR, ну так давай код свой! По сообщению "Я знаю, зачем это сделано." и тем строкам кода мы абсолютно никак помочь не можем, кроме как выругать.
__________________
let live Изменено aNNiMON (26.08 / 11:41) (всего 1 раз) |
26.08.2013 / 11:46 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| SeTSeR (26.08.2013/09:05)При вызове метода на стек кладётся адрес возврата из него+аргументы, если они есть. А мне надо просто выполнить операторы метода ещё раз,как в goto.Вызывай сколько хочешь раз в цикле. Только не в самом методе, а в том методе, который вызывает этот метод ( ) Либо так: private void method(/*some args*/, int repeatCount) {
for (int repeatIndex = 0; repeatIndex < repeatCount; repeatIndex++) {
/* operators */
}
}
__________________
let live Изменено aNNiMON (26.08 / 11:48) (всего 666 раз) |