2015-05-01 106 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將永遠是假的。