[問題] 隨機產生列舉物件的方法?
我想要亂數產生下面的列舉物件:
public enum Modifier {
NORMAL (1.0),
VERY(2.0),
MORE_OR_LESS(0.5);
private final double value;
private LinguisticModifier(double value) {
this.value = value;
}
public double getValue() {
return value;
}
}
目前想到亂數產生的方式如下:
public Modifier a_random_modifier() {
switch (new Random().nextInt() % 3) {
case 0: return Modifier.NORMAL; break;
case 1: return Modifier.VERY; break;
case 2: return Modifier.MORE_OR_LESS; break;
default:;
}
}
但是問題馬上出現了,如果列舉的型態多到數十個,那麼這種亂數產生的方式
就要寫上數十個 case. 舉例而言:
switch (random.nextInt() % 52) {
case 0: ...
case 1: ...
...
case 50: ...
case 51: ...
default:;
}
這樣會寫到手斷掉....有數十行的程式碼要寫
如果有辦法得到列舉型態的 iterator, 也許就可以不用這麼累了。
請問有什麼好法子亂數產生這些列舉型態嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.211.211.53
推
08/28 16:42, , 1F
08/28 16:42, 1F
推
08/28 16:45, , 2F
08/28 16:45, 2F
推
08/28 17:10, , 3F
08/28 17:10, 3F
推
08/28 17:10, , 4F
08/28 17:10, 4F
推
08/28 17:11, , 5F
08/28 17:11, 5F
推
08/28 17:13, , 6F
08/28 17:13, 6F
推
08/28 18:57, , 7F
08/28 18:57, 7F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):