如何讓副程式傳回2個或2個以上的值[已解決] - JWorld@TW

文章推薦指數: 80 %
投票人數:10人

Java 新手區- 如何讓副程式傳回2個或2個以上的值[已解決] ... 怎麼讓s跟d都傳回主程式我認為因該在XX的地方做改變. 但是怎麼修改都沒辦法. JWorld@TW thebestprofessionalJavasiteinTaiwan       註冊| 登入| 全文檢索| 排行榜   » JWorld@TW » Java新手區    列印話題    寄給朋友    訂閱主題 無標籤 k85218693 發文:55 積分:0 於2008-11-1320:37 12345678910111213141516publicclassQ1 { publicstaticvoidmain(String[]args) { inti; i=a(2,3); System.out.println(i); } publicstaticinta(intm,intn) { ints,d; s=m+n; d=m-n; return; } } 怎麼讓s跟d都傳回主程式 k85218693editedon2008-11-1621:56 chain710915 發文:71 積分:0 於2008-11-1320:59 k85218693wrote:12345678910111213141516publicclassQ1 { publicstaticvoidmain(String[]args) { inti; i=a(2,3); System.out.println(i); } publicstaticinta(intm,intn) { ints,d; s=m+n; d=m-n; returnXX; } } 怎麼讓s跟d都傳回主程式我認為因該在XX的地方做改變.但是怎麼修改都沒辦法你可以宣告一個int[]a={s,d};吧值都丟進去後,回傳a就可以了 liang1022 發文:35 積分:0 於2008-11-1321:42 XX的值是多少呀 lilu-elevator電梯 k85218693 發文:55 積分:0 於2008-11-1321:58 liang1022wrote:XX的值是多少呀我不知道return後面要設多少才能把d跟s一起傳回主程式 k85218693 發文:55 積分:0 於2008-11-1322:00 chain710915wrote:你可以宣告一個int[]a={s,d};吧值都丟進去後,回傳a就可以了謝謝你提供的方法^^如果不用陣列能不能寫得出來呢@@? olife 不要做黑手 發文:265 積分:0 於2008-11-1322:05 我覺得應該不能 Don'tBeFooledByRandomness zanyking 發文:406 積分:4 於2008-11-1322:41 回到C風格的世界就可以了:1234567891011121314151617181920212223 publicclassQ1 {   privatestaticclassRef{ publicTinstance; }   publicstaticvoidmain(String[]args) { Refa=newRef(); Refb=newRef(); cStyleRoutine(2,3,a,b); System.out.println(i); } publicstaticvoidcStyleRoutine(intm,intn,RefaRef,RefbRef) { aRef.instance=m+n; bRef.instance=m-n; } }   迷吱聲:return值?什麼return值? zanykingeditedon2008-11-1322:44 sepher 發文:143 積分:1 於2008-11-1323:03 在你呼叫的函式中,傳入一個類似C的指標。

把運算的結果,放入指標中,就可以回傳複數個值了。

但是一般來說,我不太喜歡這樣用。

lovelyfox 發文:34 積分:0 於2008-11-1323:38 試著用物件的想法去做吧~! chain710915 發文:71 積分:0 於2008-11-1411:50 k85218693wrote:謝謝你提供的方法^^如果不用陣列能不能寫得出來呢@@?可以存入map、list、物件。

Kaworucloud 發文:451 積分:0 於2008-11-1413:51 總之結論就是noway不論用array、map、list、object還是什麼阿哩不達的傳回的也都是「一個」reference(甚至不用傳回) 巨乳は夢が詰まってるから大きい、貧乳はみんなに夢を与えているから小さいんだ! iziziziz 發文:7 積分:0 於2008-11-1415:02 目前想到的方式...1.Array2.JavaBean k85218693 發文:55 積分:0 於2008-11-1416:10 zanykingwrote:回到C風格的世界就可以了:1234567891011121314151617181920212223 publicclassQ1 {   privatestaticclassRef{ publicTinstance; }   publicstaticvoidmain(String[]args) { Refa=newRef(); Refb=newRef(); cStyleRoutine(2,3,a,b); System.out.println(i); } publicstaticvoidcStyleRoutine(intm,intn,RefaRef,RefbRef) { aRef.instance=m+n; bRef.instance=m-n; } }   迷吱聲:return值?什麼return值?就是要傳值回去主程式我才會煩惱=__= Kaworucloud 發文:451 積分:0 於2008-11-1416:19 k85218693wrote:就是要傳值回去主程式我才會煩惱=__=又不是拿不到值,有什麼好煩惱的就算不能同時傳兩個,上面不是出現一堆方法了嗎 巨乳は夢が詰まってるから大きい、貧乳はみんなに夢を与えているから小さいんだ! k85218693 發文:55 積分:0 於2008-11-1417:37 Kaworucloudwrote:又不是拿不到值,有什麼好煩惱的就算不能同時傳兩個,上面不是出現一堆方法了嗎上面的方法我只有陣列會使用@@下面是我的寫法....1234567891011121314151617181920publicclassQ10{ publicstaticvoidmain(String[]args) {   inta[]={60,30},b[]=newint[2];      b=test(a);      for(inti=0;i



請為這篇文章評分?