作者ynchang (乱入的可怜虫)
看板java
标题Re: [问题] 希望有人可以帮助我...
时间Sat Sep 2 14:13:26 2006
※ 引述《Kenny042183 (加油啊...)》之铭言:
: 我在主程式呼叫一个方法
: 方法是放在回圈里面执行
: 就是
: for (int a = z1.length ; a > 0 ; a--){
: level(z1 , sfinal , z1[a] , pa , 1 , LBTOTALX[0] , LBTOTALX[1] , a);
: }
: level是方法,里面都是我的参数...
: 然後在这个方法里面,他经过判断有可能会继续在执行一次level,
: 而这一次的呼叫方法同样也会是放在回圈里面
: 好像是叫递回吧!!
: 现在我的问题是,当我的判断是不需要再一次回圈去执行方法的时候
: 也就是回到他所在的回圈的时候,再执行下一次的方法
: 就比方说现在a = 5,他经过判断然後-1变成a = 4,继续执行回圈内的方法
: 但是我不要他继续执行下一次的回圈
: 就是要让他a < 0,我有直接在我判断後让a = -1,并且显示出a值
: 确实变成-1了,但是他回到原本执行的回圈的时候
: 却又变成正数了,也就是他原本下一次应该a是多少,他就变成多少了
: 并没有被我改变到
: 不晓得是甚麽问题.....已经想了一天了!!
: 希望有人可以了解我的意思!!谢谢各位高手!!
在for回圈的a,和level这个方法里面所运作的a是不同的...
你只是将for回圈里面a的"值",传到了level这个方法中...
所以当level对a做处理,并不会改变到for回圈中的a...
比较简单的改法就是让level去回传运算完的a回来..
并让for回圈的a去等於level所回传的值!!!
也就是a=level(XXXXXXXX);
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.132.203.111