Re: [問題] 希望有人可以幫助我...
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 6 篇):