1、編寫一個方法,使用以上算法生成指定數目(好比1000個)的隨機整數算法
Modulus=231-1=int.MaxValue,函數
Multiplier=75=16807。ui
C=0spa
當顯示過231-2個數以後,纔可能重複。3d
public class suijiblog
{ip
private static final int N = 200;it
private static final int LEFT = 40;io
private static final int RIGHT = 10000;class
private static long x0 = 1L;
private long a = 1103515245L;
private long b= 12345L;
private long c = 2147483648L;
// 產生隨機數
private long rand ( long r )
{
// a,b,c爲常數
r = ( r * a + b ) % m;//Xn+1=(aXn + b)mod m
return r;
}
private long little ( int a, int v, long rand )
{
return a + rand % ( v - a + 1 );
}
private void recursion ( int count, long rand )
{
if (count >= N)
{
return;
}
rand = rand (rand);
long r = little (LEFT, RIGHT, rand);
System.out.print (r + " ");
recursion (++count, rand);
}
public static void main ( String[] args )
{
suiji recur = new suiji ();
recur.recursion (0, x0);
}
}
2、「方法重載」
請看如下代碼,你發現了有什麼特殊之處嗎?
我發現一樣名稱的函數能夠不一樣,這使得函數變得更全面,不一樣的參數類型能夠自動調用相應的函數(方法),即方法的重載。
知足如下條件的兩個或多個方法構成「重載」關係:
(1)方法名相同;
(2)參數類型不一樣,參數個數不一樣,或者是參數類型的順序不一樣。
注意:方法的返回值不做爲方法重載的判斷條件。