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

看板java作者 (Believing is seeing! ^^)時間19年前 (2006/09/02 13:37), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/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是多少,他就變成多少了 : 並沒有被我改變到 : 不曉得是甚麼問題.....已經想了一天了!! : 希望有人可以瞭解我的意思!!謝謝各位高手!!   聽起來似乎是傳值呼叫的問題,   你的 a 是 int 型態,   所以傳進 level 中的只是 a 的一份 copy,   不管你在 level 裡對 a 怎麼修改,   改到的都是那一份 copy,   而不是 a 本身,   因此離開 level 回到迴圈後 a 的值還是沒變。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.175.161.103
文章代碼(AID): #14-HY0sq (java)
討論串 (同標題文章)
文章代碼(AID): #14-HY0sq (java)