這是我從1-99生成隨機數的代碼,但它每次只生成一組相同的數字(15個數字)。我將這些數字存儲在NSArray
中,並正確獲取NSLog
的輸出。沒關係,但是當我將這種隨機方法稱爲隨機數時,我需要不同的隨機數而不需要重複編號。任何人都可以幫助我嗎?如何在Objective-C中從1-99範圍內生成隨機數?
-(void) randoms
{
myset=[[NSArray alloc]init];
int D[20];
BOOL flag;
for (int i=0; i<15; i++)
{
int randum= random()%100;
flag= true;
int size= (sizeof D);
for (int x=0; x<size; x++)
{
if (randum == D[x])
{
i--;
flag= false;
break;
}
}
if (flag) D[i]=randum;
}
for (int j=0; j<15; j++)
{
myset=[myset arrayByAddingObject:[NSNumber numberWithInt:D[j]]];
}
NSLog(@"first set..%@",myset.description);
}
調用它給這一個嘗試http://stackoverflow.com/questions/160890/generating-random-numbers-in-objective- c – Anupdas
這真是令人煩惱。對代碼有很好的解釋,並且這個問題已經關閉了。我會將它添加到博客,並在可以時爲您提供鏈接。 – Popeye
雖然有一個元素是重複的 - 生成唯一的隨機數,也有將隨機數放在一個集合中的元素,所以我提名重新開放 – Paulw11