基本介紹
- 中文名:偽隨機方式
- 外文名:pseudo-random fashion
- 學科:計算機、通信、密碼學
- 定義:模仿真隨機
- 方法:引入某些物理噪聲的方法
- 套用:密碼傳輸、數據堆聚問題等
定義
方式
套用
福利彩票遊戲中,中獎號碼由 7 個基本號碼組成,使用指定的專用搖獎器搖出。搖獎器內放置標有 01-35 的 35 個號碼球,搖獎時依次搖出 7 個號碼球,然後,依據設定相應的兌獎規則,(如 7 中 7 、 7 中 6 、 7 中 5 )等,進行兌獎。
根據問題分析, 為該應用程式創建球類 Bull 、 遊戲類 Game 與測試類TestGame 。
同樣, 為了能在遊戲應用程式中使用隨機數, 需要導入 java.util 包的Random 類。 Bull 類定義球號碼 point 以及顯示球 displayBull 方法。 其中,displayBull 用於顯示球號碼對應的圖片。 Game 類中 playGame 方法用於隨機從 35 個球中“搖出” 7 個球,並需要考慮球號不能重複; ruleGame 方法用於設定兌獎規則。
Game 類中 playGame 方法的關鍵代碼如下:
public void playGame()
{int i=0;
int index =0;
for(i=0;i<NumBull;i++)
{ranarray[i]=i+1;
}
for(i=0;i<NumRoll;i++)
{index = rand.nextInt(NumBull);
ran[i].setPoint( ranarray[index] );
ranarray[index]=ranarray[--NumBull];
}// 產生不重複的球號 }
其中,變數定義如下:
int NumBull = 35; // 定義總球數
int NumRoll = 7; // 定義中獎球數
Bull[] ran = new Bull[NumRoll]; // 定義中獎的球
private int[] ranarray = new int[NumBull]; // 總球的數組
public Random rand = new Random(); // 初始化隨機數