一個轉盤游戲的小程序。package collection4; //類public class Gift {private String name;private int jifeng;public Gift(String Name,int Jifeng){ //構造方法給屬性賦值this.name=Name;this.jifeng=Jifeng;}public int random(){ //一個生成隨機數的方法int a=(int) (Math.random()*10);return a;}}package collection4; //主函數import java.util.Iterator;import java.util.Scanner;import java.util.TreeSet;public class Game {public static void main(String args[]){Gift gift=new Gift(null, 0); //生成隨機數Scanner in=new Scanner(System.in);TreeSet<Gift> g=new TreeSet<Gift>();g.add(new Gift("打波",5)); // 事先輸入獎品,出問題的地方g.add(new Gift("抱抱",4)); //下面也一樣g.add(new Gift("交杯酒",3));g.add(new Gift("拋媚眼",2));g.add(new Gift("滾床單",6));boolean flag=true;while(flag){System.out.println("輸入選擇:1 :查看獎品 2: 開始游戲 3 退出游戲");char choose=in.next().charAt(0);switch(choose){case'1':Iterator<Gift> a=g.iterator();while(a.hasNext()){System.out.println(a.next());}break;case'2':break;case'3':flag=false;break;default:System.out.println("您的輸入有誤");}}}}
1 回答

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
TreeSet 是排序的 Set,要求你添加進去的東西本身支持排序,也就是:
要么實現了 java.lang.Comparable 接口
要么你在創建 TreeSet 時提供一個 java.util.Comparator 來告訴 TreeSet 排序的方法由這個 comparator 來處理。
如果你并沒有排序的必要的話,可以考慮用 HashSet 之類的,如果你只是希望“有序”而不是“排序”的話,還可以考慮 LinkedHashSet,比如,你希望迭代打印出獎品時顯示的順序跟你把它們添加到集合中的順序相同時就可以用 LinkedHashSet,這里如果 TreeSet 的話它會每次修改時可能重新排序數據來保證數據是有序的,例如假定你的 Gift 排序的依據是 jifeng 值從低到高,那么使用 TreeSet 時將會讓對象的積分從低到高 2, 3, 4, 5, 6 輸出,但使用 LinkedHashSet 依然會像它原來那樣 5, 4, 3, 2, 6 輸出。
添加回答
舉報
0/150
提交
取消