Re: [問題]傳入物件的修改方式

看板java作者 (vencs)時間16年前 (2009/08/21 19:06), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/4 (看更多)
修改過後的程式碼 private static void QuickSortWork(ICanCompare[] objs, int left, int right){ if((right - left) >= 2){ //問題點之一 ICanCompare pivot = objs[right]; int i = left - 1; int j = right; ShortLoop : for(;;){ while(objs[++i].Compare(pivot) > 0);  //問題點之二 while(objs[--j].Compare(pivot) < 0); //同上 if(i < j){ ICanCompare temp = objs[i]; objs[i] = objs[j]; objs[j] = temp; } else break ShortLoop; } ICanCompare temp = pivot; pivot = objs[i]; objs[i] = temp; QuickSortWork(objs, left, i - 1); QuickSortWork(objs, i + 1, right); } } while部分的問題之前就有前輩提出來了 只不過因為還有前面關於長度部分的問題 讓exception的說明還是一樣,所以讓之前昏頭的我想說應該不是這邊的問題 對於提出來說明的大家致上謝意 另外我還想問的問題就是 private static Distance newDistance(Distance a){ a = new Distance(a.getD() - 1); return a; } 像上述的程式碼這樣,對於物件的修改要怎麼樣才會產生或不產生影響? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.119.135.18
文章代碼(AID): #1AZd-PYc (java)
文章代碼(AID): #1AZd-PYc (java)