我正在制作测验应用程序,我想在其中生成无重复的随机数。
我已经搜索了很多东西,并且有了主意,但是我认为我做错了什么,这就是为什么无法获得正确的输出。

这是我使用的代码。

-(int)generater{

NSMutableArray *temp;
srand([[NSDate date] timeIntervalSince1970]);
r = 1 + (arc4random() % 11);

if ([temp count] ==0) {

    [temp addObject:[NSNumber numberWithInteger:questionnumber]];
    return r;

}
if ([temp count] >= 1 ){

    if (![temp containsObject:[NSNumber numberWithInteger:questionnumber]]) {

        return r;

    }
    else{

        int next=[self generater];
        return next;
    }
}
return r;
}


对于下一个问题,

-(void)askQuestion{

[self generater];

questionnumber = r;

NSInteger row = 0;
if(questionnumber == 1)
{
    row = questionnumber - 1;
}
else
{
    row = ((questionnumber - 1) * 11);
}


有人可以建议我我错了吗?

最佳答案

    arryRandomNumber=[[NSMutableArray alloc]init];
    while (arryRandomNumber.count<12) {
    NSInteger randomNumber=1+arc4random()%12;
    if (![arryRandomNumber containsObject:[NSString stringWithFormat:@"%d",randomNumber]])       {
          [arryRandomNumber addObject:[NSString stringWithFormat:@"%d",randomNumber]];
     }
         continue;
    }
     NSLog(@"%@",arryRandomNumber);

关于iphone - 随机数,无重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10548002/

10-09 01:06