創(chuàng)建沒(méi)有重復(fù)的隨機(jī)數(shù)在這種情況下,最大值只有5,所以我可以一個(gè)地檢查副本,但是我如何以更簡(jiǎn)單的方式完成這個(gè)任務(wù)呢?例如,如果最大值的值為20,怎么辦?謝謝。int MAX = 5;for (i = 1 , i <= MAX; i++){
drawNum[1] = (int)(Math.random()*MAX)+1;
while (drawNum[2] == drawNum[1])
{
drawNum[2] = (int)(Math.random()*MAX)+1;
}
while ((drawNum[3] == drawNum[1]) || (drawNum[3] == drawNum[2]) )
{
drawNum[3] = (int)(Math.random()*MAX)+1;
}
while ((drawNum[4] == drawNum[1]) || (drawNum[4] == drawNum[2]) || (drawNum[4] == drawNum[3]) )
{
drawNum[4] = (int)(Math.random()*MAX)+1;
}
while ((drawNum[5] == drawNum[1]) ||
(drawNum[5] == drawNum[2]) ||
(drawNum[5] == drawNum[3]) ||
(drawNum[5] == drawNum[4]) )
{
drawNum[5] = (int)(Math.random()*MAX)+1;
}}
3 回答
九州編程
TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊
//random numbers are 0,1,2,3 ArrayList<Integer> numbers = new ArrayList<Integer>();
Random randomGenerator = new Random();while (numbers.size() < 4) {
int random = randomGenerator .nextInt(4);
if (!numbers.contains(random)) {
numbers.add(random);
}}添加回答
舉報(bào)
0/150
提交
取消
