Re: [問題] 希望有人可以幫助我...

看板java作者 (亂入的可憐蟲)時間19年前 (2006/09/02 14:05), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/6 (看更多)
※ 引述《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
文章代碼(AID): #14-HyfVe (java)
討論串 (同標題文章)
文章代碼(AID): #14-HyfVe (java)