我需要用整數填充一個向量,但我有一些麻煩,我需要用隨機數填充它,但不是連續兩個數字。 (當然不是這樣:1,4,4,3,5,9) 我做了這個代碼,但它不能很好地工作:Android,隨機連續兩次不重複相同的數字
- @首次洛哈= 1;
- 但直到比賽:loja ++;
- int [] con;
隨機法:
private int nasiqim (int max){
Random nasiqimi = new Random();
int i = 0;
i=nasiqimi.nextInt(max);
return i;
}
工作代碼:
int i;
con = new int [loja];
for (i=0; i<loja; i++)
{
con[i] = nasiqim(8);
if(i>0){
while(con[i]==con[i-1])
{
con[i] =nasiqim(8);
}
}
i++;
}
的結果是這樣的:
- 1,4
- 1,4,1
- 1,4,1,4
- 1,4,1,4,1
- 5,3,5,3,5,3
- 5,3,5 ,3,5,3,5
而且這不是我需要,我需要的數字,真正隨機的,不是這樣的, 將是巨大的,如果名單將是這樣的:1,5, 6,7,3,0,2,4,1,0,2,3 ...
謝謝!
您的隨機生成器位於方法內部,將其作爲類的靜態成員提取。 – enrique7mc 2014-12-01 21:17:00
我也試過,是一樣的:( 或你的意思是隨機的聲明在外面? – 2014-12-01 21:21:13
@chais可能是正確的,作爲一個靜態成員它可以解決問題。因爲目前,每當你調用'nasiqim ',它會創建一個新的Object for Random(),所以它會忘記以前的值,哪些會導致重複。 – 2014-12-01 21:25:04