java課堂 動手動腦2

1編寫一個方法,使用以上算法生成指定數目(好比1000個)的隨機整數算法

 

Modulus=231-1=int.MaxValue函數

Multiplier=75=16807ui

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)參數類型不一樣,參數個數不一樣,或者是參數類型的順序不一樣。

注意:方法的返回值不做爲方法重載的判斷條件。

相關文章
相關標籤/搜索