//编程的时候,有三条任选执行路径,都会显示一些图片,比如路径1显示的图片是一个人,路径2显示的是两个人,路径3显示任意人数的图片,要求每次进入该页面都不能重复初始的那张图片。 于是我想到了 运用随机生成数来解决。 网上搜搜 果然好多方法,有一点是很重要的,随机生成,不能保证是否有重复的,那么用户体验肯定不好,为了用户果断应该选择“不重复的随机生成数的方法”
以下是借鉴别人的好方法 留着备用。1、获取一个随机整数范围在:[0,100)包括0,不包括100int x = arc4random() % 100;2、 获取一个随机数范围在:[500,1000),包括500,不包括1000int y = (arc4random() % 501) + 500;/***********************///生成0~9 标记index 的数
-(NSMutableArray *)getRandomNumber:(NSArray * )temp
{NSMutableArray *tempArray = [[NSMutableArray alloc] initWithArray:temp];NSMutableArray *resultArray = [[NSMutableArray alloc] init];int i;int count = temp.count;NSLog(@"count:%d",count);for (i = 0; i < count; i ++) {int index = arc4random() % (count - i);[resultArray addObject:[tempArray objectAtIndex:index]];NSLog(@"index:%d,xx:%@",index,[tempArray objectAtIndex:index]);[tempArray removeObjectAtIndex:index];
}NSLog(@"resultArray is %@",resultArray);return resultArray;
}调用:NSArray* arrary_ScrollView_Single=[[NSArray alloc]initWithObjects:@"111",@"112",@"113",@"114",@"115",@"116",@"117",@"118",@"119",nil];NSMutableArray * arrary_moment=[selfgetRandomNumber:arrary_ScrollView_Single];NSLog(@"%@",arrary_moment);resultArray is (116,114,115,117,113,118,112,111,119)//原理
int index = arc4random() % (count - i);
//每取一个。减少一个。比如开始是从0~8 取一个后就少一个。
[tempArray removeObjectAtIndex:index];
//最重新的就是这句。它是把array 里的已取到的元素删掉,

转载于:https://www.cnblogs.com/someonelikeyou/p/3631529.html

iOS 生成随机数 重复 不重复相关推荐

  1. VB.NET学习笔记:使用Random类生成随机数(不重复、数字、字母)

    VB6.0升级到VB.NET后,发现随机数函数也发生了变化,在VB.NET中Random类是一种能够产生满足某些随机性统计需求的数字序列的伪随机数生成器. 在代码把光标定位到单词Random,点F1键 ...

  2. ios生成随机数方法

    ios 有如下三种随机数方法: 1.    srand((unsigned)time(0));  //不加这句每次产生的随机数不变         int i = rand() % 5; 2.     ...

  3. R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项)、randomSequence函数创建不含重复项的随机序列数据集、创建随机字符串

    R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项).randomSequence函数创建不含重复项的随机序列数据集.创建随机字符串 ...

  4. C# Random循环生成随机数重复问题解决方案

    C# Random循环生成随机数重复问题解决方案 参考文章: (1)C# Random循环生成随机数重复问题解决方案 (2)https://www.cnblogs.com/duanjt/p/70641 ...

  5. php随机数字不重复,php生成N个不重复的随机数

    php生成N个不重复的随机数 生成N个不重复的随机数,如何在php中实现呢?本文分享的这例php代码,可以实现随机数的'生成,生成多个不重复的随机数,有兴趣的朋友参考下. php生成N个不重复的随机数 ...

  6. java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串...

    java,url长链接生成短链接,短链接生成器,自定义字符串,对字符串md5混合KEY加密,根据短链接获得key值,不重复的随机数,不重复的随机字符串 1 package com.zdz.test; ...

  7. 如何生成指定范围不重复的随机数数组

    如何生成指定范围不重复的随机数数组 例如:输入m=10,n=20 输出结果:[14, 11, 18, 12, 19, 20, 13, 15, 17, 16, 10](结果不唯一,满足条件即可) 程序源 ...

  8. java 生成不重复随机数_Java如何实现生成n个不重复的随机数 Java实现生成n个不重复的随机数代码...

    Java如何实现生成n个不重复的随机数?本篇文章小编给大家分享一下Java实现生成n个不重复的随机数代码,代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 需 ...

  9. c语言彩票随机数7位数,随机生成7个不重复的彩票号码 (33选7)

    class TestMy { public static int num = 7;//决定生成不重复随机数的个数 public static int value = 33;//生成随机数的取值范围 p ...

最新文章

  1. simple css 汉化,Simple CSS(CSS文档生成器)
  2. VTK:PolyData之QuantizePolyDataPoints
  3. rest api_摆脱困境:向REST API添加验证
  4. java约瑟夫环迭代器_Josephus约瑟夫环问题的不同实现方法与总结
  5. liveness 生存性/活性
  6. C++_类和对象_C++运算符重载_左移运算符重载_链式编程_实现直接打印对象---C++语言工作笔记056
  7. python中文叫什么-python中文叫什么
  8. memcache的安装和使用
  9. 移动健康应用观察:快速问医生的“Web 10年功”
  10. webpack配置路径问题 1
  11. keil5.36设置GB2312编码后无法修改字体的解决方法——2022.04.04
  12. a113 智能音箱芯片方案_智能音箱九大芯片方案商及其生产厂商和代表作品介绍...
  13. 洪泰智造工场腾讯云创业加速营全球招募
  14. 有趣的十个Python实战项目,让你瞬间爱上Python!
  15. File Upload(文件上传漏洞)
  16. appinventor拓展开发
  17. Python聊天室设置与实现
  18. 椭圆曲线标量乘法快速算法(附源码实现)
  19. 一个列子演示java中弱引用的回收时机
  20. 台积电认清了形势,新的建厂计划没有美国,中国芯片也得到重视

热门文章

  1. 基于Pytorch框架的轻量级卷积神经网络垃圾分类识别系统
  2. socketio使用
  3. 记录如何在KVM上手动部署山石vfw
  4. python拥有庞大的计算生态_Python稳基修炼之计算机等级考试易错概念题1(含答案与解析)...
  5. 随机森林模型进行递归特征消除的python实现
  6. POJ2229 [USACO05 Jan] Sum sets 递推(dp)
  7. vue-baidu-map使用方法(简单快速)在vue项目中使用
  8. 苹果高通和解后,华为5G芯片市场地位稳了?
  9. C#与基恩士PLC的KV-Nano系列通讯
  10. Excel Spreadsheet Compare工具