使用Scala生成随机数的方法示例
一.使用Scala生成随机数
1.简单版本:
/* 1.you can use scala.util.Random.nextInt(10) to produce a number between 1 and 10 2.at the same time,you nextInt(100) to produce a number between 1 and 100 */ object Test { def main(args: Array[String]) { var i = 0 while(i < 10) var str = scala.util.Random.nextInt(100).toString println(str) i = i+1 } } }
2.复杂版本:
object Test{ def main(args: Array[String]): Unit = { val wordPerMessage = 4 var i = 0 while(i<10){ /* 1.the (1 to 1) is meaning that only have one circulation. */ (1 to 1).foreach { messageNum => { //[There's only three cycle] val str: Seq[String] = (1 to wordPerMessage).map(x => scala.util.Random.nextInt(10).toString) val str1 = str.mkString(" ")//separate str1 with space println(str) } } i = i +1 } } }
PS:scala生成一组不重复的随机数
1、循环获取随机数,再到 list中找,如果没有则添加
def randomNew(n:Int)={ var resultList:List[Int]=Nil while(resultList.length<n){ val randomNum=(new Random).nextInt(20) if(!resultList.exists(s=>s==randomNum)){ resultList=resultList:::List(randomNum) } } resultList }
这种只适合数量比较少的情况
2、每次生成一个随机数index,将index作为数组下标取相应的元素,然后去除该元素,下一次生成随机数的范围减1,
def randomNew2(n:Int)={ var arr= 0 to 20 toArray var outList:List[Int]=Nil var border=arr.length//随机数范围 for(i<-0 to n-1){//生成n个数 val index=(new Random).nextInt(border) println(index) outList=outList:::List(arr(index)) arr(index)=arr.last//将最后一个元素换到刚取走的位置 arr=arr.dropRight(1)//去除最后一个元素 border-=1 } outList }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Scala的文件读写操作与正则表达式
目录 在本篇文章中你将会学习并了解常用的文件处理任务,例如读取文件的一行文本,本博客的要点包含: 1.Source.fromFile(...).getLines.toArray 输出文件所有行 2.Source.fromFile(...).mkString 以字符串形式输出文件内容 3.将字符串转换为数字,可以使用toInt或toDouble方法 4.使用java的PrintWriter写入文本文件 5."正则".r是一个Regex对象 6.若你的正则表达式包含反斜杠或者引号,请用&q
-
深入理解Scala函数式编程过程
深入理解Scala函数式编程过程 我们马上开始一段变态的过程 如果要求立方和,可以这么做 35 * 35 * 35 68 * 68 * 68 没毛病,抽象一点儿,写个函数: def cube(n: Int) = n * n * n cube(35) cube(68) 省事儿了,如果求1到10的立方和,OK,写个递归 def cube(n: Int) = n * n * n def sumCube(a: Int, b: Int): Int = if (a > b) 0 else cube(a) +
-
Java8与Scala中的Lambda表达式深入讲解
前言 最近几年Lambda表达式风靡于编程界.很多现代编程语言都把它作为函数式编程的基本组成部分.基于JVM的编程语言如Scala.Groovy及Clojure把它作为关键部分集成在语言中.而如今,(最终)Java 8也加入了这个有趣的行列. Java8 终于要支持Lambda表达式!自2009年以来Lambda表达式已经在Lambda项目中被支持.在那时候,Lambda表达式仍被称为Java闭包.在我们进入一些代码示例以前,先来解释下为什么Lambda表达式在Java程序员中广受欢迎. 1.为
-
Scala小程序详解及实例代码
Scala小程序详解 1. 交互式模式 在命令行窗口中,输入Scala命令: xiaosi@Qunar:~$ scala Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_91). Type in expressions for evaluation. Or try :help. scala> 第一个小程序: xiaosi@Qunar:~$ scala Welcome to Scala 2.11.8 (
-
Scala安装及环境图文配置教程
Window 上安装配置Scala,供大家参考,具体内容如下 1.Java(JDK)环境配置,详见 Java(JDK)环境 2.从 Scala 官网下载安装包:下载地址 3.双击开始一步一步的安装: 4.同意 License: 5.此处可以选择取消"Update system PATH"的设置,随后手动设置环境变量: 6.开始安装吧: 7.安装完成: 8.接着需要设置系统环境变量: 右击[我的电脑]--[属性]--[高级系统设置]--[环境变量],如下图: 在用户变量下新增 SCALA
-
浅析Java和Scala中的Future
随着CPU的核数的增加,异步编程模型在并发领域中的得到了越来越多的应用,由于Scala是一门函数式语言,天然的支持异步编程模型,今天主要来看一下Java和Scala中的Futrue,带你走入异步编程的大门. Future 很多同学可能会有疑问,Futrue跟异步编程有什么关系?从Future的表面意思是未来,一个Future对象可以看出一个将来得到的结果,这就和异步执行的概念很像,你只管自己去执行,只要将最终的结果传达给我就行,线程不必一直暂停等待结果,可以在具体异步任务执行的时候去执行其他操作
-
Scala基础简介及代码示例
一.主要内容 Scala中变量的声明与函数定义 Scala中的控制结构 Scala中的数据类型 1:变量声明与函数定义 变量声明:val 和 var ,两者的区别是val声明的变量是不可变的,而var声明的变量可变 带返回值 scala> def max(x:Int,y:Int):Int = { | if(x>y) x | else y | } max: (x: Int, y: Int)Int scala> max(1,2) res5: Int = 2 不带返回值 scala> d
-
使用Scala生成随机数的方法示例
一.使用Scala生成随机数 1.简单版本: /* 1.you can use scala.util.Random.nextInt(10) to produce a number between 1 and 10 2.at the same time,you nextInt(100) to produce a number between 1 and 100 */ object Test { def main(args: Array[String]) { var i = 0 while(i <
-
Python简单生成随机数的方法示例
本文实例讲述了Python简单生成随机数的方法.分享给大家供大家参考,具体如下: 主要知识点: 随机整数: random.randint(a,b):返回随机整数x,a<=x<=b 包含范围的随机整数 random.randrange(start,stop,[,step]):返回一个范围在(start,stop,step)之间的随机整数,不包括结束值. 0-1之间的随机浮点数 随机实数:random.random():返回0到1之间的浮点数 指定范围的随机浮点数 random.uniform(a
-
PHP生成随机数的方法总结
第一种方法用mt_rand() function GetRandStr($length){ $str='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; $len=strlen($str)-1; $randstr=''; for($i=0;$i<$length;$i++){ $num=mt_rand(0,$len); $randstr .= $str[$num]; } return $randstr; } $numb
-
Python生成随机数的方法详解(最全)
目录 使用 random 模块 使用 NumPy 库 使用 secrets 模块 使用 random.org 网站 使用 random.choices()方法 python生成随机数都有哪些办法呢 使用 random 模块:random模块是python内置的模块,使用方法如random.randint()生成一个随机整数. 使用 NumPy 库:NumPy 是一个强大的数值计算库,它提供了生成随机数的功能,例如numpy.random.randint()生成一个随机整数. 使用 secrets
-
Angular+Node生成随机数的方法
本文实例讲述了Angular+Node生成随机数的方法.分享给大家供大家参考,具体如下: 以前写过一个PHP生成随机数,然后jquey ajax获取,再jQuery改变文本的随机数的程序 现在用Angular 和 Node来重写一下 Angular的好处是双向绑定,这样直接设置变量,不用再重新设置了 Node的好处我目前还不是很理解,可以通过count这个例子来说明一下Node和PHP的不同之处 当然了,最大的好处就是,前后端都可以用JavaScript来写了,这样的话Javascript的水平
-
php简单生成随机数的方法
本文实例讲述了php简单生成随机数的方法.分享给大家供大家参考.具体如下: <?php /** *生成随机数,可用户验证码 *@param */ function randStr($m = 5) { $new_str = ''; $str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwsyz0123456789'; $max=strlen($str)-1; for ($i = 1; $i <= $m; ++$i) { $new_str
-
js生成随机数的方法实例
js生成随机数主要用到了内置的Math对象的random()方法.用法如:Math.random().它返回的是一个 0 ~ 1 之间的随机数.有了这么一个方法,那生成任意随机数就好理解了.比如实际中我们可能会有如下的需要: (1)生成一个 0 - 100 之间的随机整数,那么则可以: parseInt(100*Math.random()); 注意:因为Math.random()的返回值是包括0和1的,所以这里是有生成0和100的可能性的. (2)生成一个从 m - n 之间的随机整数,例如要生
-
PHP生成随机数的方法实例分析
通常情况下,当我们要生成一个随机字符串时,总是先创建一个字符池,然后用一个循环和mt_rand()或rand()生成php随机数,从字符池中随机选取字符,最后拼凑出需要的长度. 复制代码 代码如下: function randomkeys($length) { $pattern = '1234567890abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLOMNOPQRSTUVWXYZ,./&l t;>?;#:@~[]{}-_=+)(*&^%$?!'; //
-
Java编程实现从给定范围内随机N个不重复数生成随机数的方法小结
本文实例讲述了Java编程实现从给定范围内随机N个不重复数生成随机数的方法.分享给大家供大家参考,具体如下: 一.JAVA中生成随机数的方式 1.在j2se中使用Math.random()令系统随机选取一个0~1之间的double类型小数,将其乘以一个数,比如25,就能得到一个0~25范围内的随机数,这个在j2me中没有: int randomNumber = (int) Math.round(Math.random()*(max-min)+min); 2.在System类中有一个current
-
JAVA 根据设置的概率生成随机数的方法
本文介绍了JAVA 根据设置的概率生成随机数的方法,分享给大家 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Random; public class RandomTest { // String 可以为任意类型 也可以自定义类型 static Map<String, Integer> keyChanceMap
随机推荐
- 声音验证码制作方法
- perl脚本实现限制ssh最大登录次数(支持白名单)
- angularjs2中父子组件的数据传递的实例代码
- Oracle查询最近几天每小时归档日志产生数量的脚本写法
- Oracle数据库安全策略分析(一)第1/2页
- asp.net 使用Silverlight操作ASPNETDB数据库
- 浅析泛型类接口定义
- php数组的概述及分类与声明代码演示
- 如何使用php输出时间格式
- Java用正则表达式实现${name}形式的字符串模板实例
- Bootstrap轮播插件简单使用方法介绍
- javascript中的undefined 与 null 的区别 补充篇
- 微信小程序 九宫格实例代码
- IIS6 w3wp.exe进程占用cpu和内存过多的解决方法
- Nginx 代理与负载均衡详解
- Android-实现切换Fragment页功能的实现代码
- C#中无边框窗体移动的简单实例
- Java进阶教程之异常处理
- ListView实现下拉动态渲染数据
- 北邮考研复试C语言上机题目精选