下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

分析关于Android/IOS中随机数的生成

作者:课课家教育     来源: http://www.kokojia.com点击数:1432发布时间: 2019-03-04 10:23:58

标签: Android随机数Android学习

      随机数在数学学习过程中是非常熟悉,比如掷骰子,硬币,转轮等等,这种随机抽取在现在计算机上也有定义,而且经常在项目开发的过程中会使用到随机数。那么本我呢就来介绍一下Android和ios开发中如何生成随机数。

分析关于Android/IOS中随机数的生成_Android_随机数_Android学习_课课家

      前言:

  项目中,往往需要我们使用随机数来完成一些特定的需求。比如有这样一个需求,使用手机客户端的用户需要发送一条短信来完成类似“激活”或者“绑定”的操作,这时我们往往会在程序中多写入几个号码,以免所有用户都往同一个号码中发送短信,导致服务端压力过大。这时,我们就需要来生成一个随机数,根据随机数来选择一个号码来使用。类似的需求还有不少,这里就不再多说了。那么,让我们分别来介绍一下在android和ios开发中最常用的生成随机数的方法吧!

  正文:

  首先,是在android平台下,来生成随机数

  在android中生成随机数很简单,java的Math类中有一个静态方法random(),该方法返回一个double类型的数值,取值范围是大于等于0小于1。虽然方法本身有这样的限制,但是只要我们稍加改造,便可满足我们跟多的需求。比如,拿开始的例子来说,我可以程序中内置10个手机号码,放在了数组里面,这时我就需要随机生成一个0-9之间的整数,通过这个随机数来做索引,从数组中取出对应的手机号码来用。代码我们可以这样写:

  在上面的代码中,index就是我们需要的结果。Math.random()*10为大于等于0小于10的double值,转化为int时会将小数点后的部分直接抹去,这样就会生成大于等于0小于10的整数。

  很容易看出,我们只要把10替换为任意我们需要的整数n,表达式(int)(Math.randown() *n)就能返回[0,n)区间内的整数。

  另外,在java中有一个Random类,该类中有一个nextInt(int n)方法,仍然是看下面的代码

  在上面的代码中,index结果为大于等于0小于10的整数。

  那么,该方法通常这样使用:在实例化Random类对象时把当前时间戳传进去作为种子,nextInt(int n)方法的参数为范围,返回区间[0,n)内分整数。

  接下来,我们来说介绍一下在ios平台下,如何生成随机数

  在ios中,Objective-C未提供相关的获取随机数的方法,所以通常我们使用C语言为我们提供的arc4random()函数,首先来看下面的代码:

  在上面的代码中,arc4random() % 100返回一个0到100之间(包括0,不包括100)的整数。

  那么,该函数的用法是这样的:表达式arc4random() % n返回[0,n)区间的整数。

     在android平台中我们使用java的Math类中有一个静态方法random()方法和nextInt(int n)方法来生成随机数,在IOS中我们使用arc4random()函数来实现这个目标。这两个操作系统中的生成随机数的方法很简单,心动不如行动,看到这里的朋友赶紧行动。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程