2015-05-01 77 views
0

任何人都可以帮助我在两个范围内生成两个不同的随机数吗?我已经试过:在Scala中同时生成两个不同的随机数 - Spark

var a = Random.nextInt(S) 
var b = Random.nextInt(K) 
if (a == S || b == K){ 
    a = S-1 
    b = K-1 
} 
(word,a,b) 

但是,这产生了一些数字,是不是在指定的范围内。

+0

http://docs.oracle.com/javase/7/docs/api/java/util/Random.html#nextInt(int)。返回0(包含)和指定值(不包含)之间的整数值,所以'a'不能等于'S'。 – Infinity

+0

但在1000迭代循环中可能会产生错误,我想要一个复杂的随机数发生器 – Rozita

+0

“它可能会产生错误”,你是什么意思? – Infinity

回答

0

docs on Random

def nextInt(n: Int): Int 返回一个伪随机,介于0(含)均匀分布的int值和规定值(不包括),从该随机数生成器的序列绘制。

通过该方法合同,nextInt总是会返回一个值从0到n - 1,让您的病情a == S || b == K将永远是假的。