Re: [問題] PriorityQueue排出來的結果不對

看板java作者 (查無暱稱)時間13年前 (2012/03/15 12:40), 編輯推噓3(306)
留言9則, 4人參與, 最新討論串3/3 (看更多)
因為推文我放上code

03/15 10:35,
應該是別的地方有錯,補一下你怎麼放 new NNQE 和放進 queue
03/15 10:35
這是Comparator宣告 public static class NNQECompare implements Comparator<NNQE>{ public int compare(NNQE N1, NNQE N2){ if(N1.distance>N2.distance) return 1; if(N1.distance<N2.distance) return -1; return 0; } } 這是使用的地方 Priority.clear(); for(DataCache curB: Cache){ if(curB.ObjectCount != 0){ for(int j = 0; j < curB.ObjectCount ; j++){ t = new SpaceObject(curB.Items[j].x,curB.Items[j].y,curB.Items[j].id); discompute=DisComputing(QItem, t); if(discompute > RegionRadius) continue; else Priority.add(new NNQE(t, discompute)); } } } 以下是NNQE的class public class NNQE { public double distance; public SpaceObject element; public NNQElement(SpaceObject O, double d) { element = O; distance = d; } public double getdis(){ return distance; } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.177.98 ※ 編輯: olys 來自: 140.117.177.98 (03/15 12:49)

03/15 13:36, , 1F
感謝eieio!public int compare前加個@Override就正常了!
03/15 13:36, 1F

03/15 13:45, , 2F
原來是漏掉@Override..... 這個ide都沒顯示嗎? = =
03/15 13:45, 2F

03/15 13:47, , 3F
我是用Eclipse, 不過java不會自動override嗎?
03/15 13:47, 3F

03/15 13:49, , 4F
印象中會....
03/15 13:49, 4F

03/15 14:15, , 5F
真神奇,我說加 @Override 只是讓 compiler 檢查一下
03/15 14:15, 5F

03/15 14:17, , 6F
寫對的話有沒有加 @Override 印象中都沒有差 @@
03/15 14:17, 6F

03/15 15:10, , 7F
JDK 1.5 or 1.6?
03/15 15:10, 7F

03/15 15:21, , 8F
1.6 @@
03/15 15:21, 8F

03/15 15:30, , 9F
那真費解 XD
03/15 15:30, 9F
文章代碼(AID): #1FONAY8W (java)
文章代碼(AID): #1FONAY8W (java)