[問題] Android新手 隨機取值的問題
假設我有一組陣列
int i[] = {0, 1, 2, 3, 4, 5, 6, 7};
且 01為一組、23為一組、45為一組…以此類推,目前總共四組(可能有變動
然後我要從這組陣列當中,隨機取出 1~4 組數字
例1:隨機取出 4 組,隨機取出 01, 23, 45, 67
例2:隨機取出 2 組,隨機取出 23, 67
例3:隨機取出 3 組,隨機取出 01, 23, 67
大概是這樣…
這該怎麼寫呢?卡在這卡好久了
-
原本我的寫法是:
private int random1 = 0; //奇數
private int random2 = 0; //偶數
do {
random1 = Utils.getRandomNumber(1, i.length);
random2 = Utils.getRandomNumber(0, i.length);
if (random1 % 2 == 0) {
random1--;
}
if (random2 % 2 != 0) {
random2++;
}
} while (random1 < random2);
for (int i = random2; i < random1 + 1 ;i++) {
Log.d("test", i);
}
但是,這樣的話沒辦法得到我想要的結果:
因為這只會抓到連號(01, 23, 45),而不會抓到跳號(01, 45, 67)
而且機率也不會相同(抓到中間值的機率遠大於其他)
所以才上來發問,該怎麼寫呢?
--
By ALi Project グランギニョル
仏語で「操り人形」または「人形劇」を指す。
普通は19世紀末のパリに実在した劇場「グラン・ギニョル座」を指す。
この劇場では人形の代わりに人間が出演し,残酷でエロチックな恐怖劇を演じた。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.10.192.94
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1447844133.A.7FF.html
推
11/18 20:18, , 1F
11/18 20:18, 1F
→
11/18 20:55, , 2F
11/18 20:55, 2F
→
11/18 21:00, , 3F
11/18 21:00, 3F
→
11/19 20:06, , 4F
11/19 20:06, 4F
→
11/19 20:07, , 5F
11/19 20:07, 5F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):