📄 goldlotto.java
字号:
import java.util.*;
public class GoldLotto
{
private Vector<Data> vPool, /* Lotto Number Pool */
vDatas; /* Generated Data Set */
public GoldLotto(Vector<Data> vData, int nNum)
{
vPool = new Vector<Data>(vData.size());
copyPool(vData);
vDatas = new Vector<Data>();
generateLotto(nNum, vData);
return;
}/* End GoldLotto Constructor */
private void copyPool(Vector<Data> vData) {
Data oData = null, cpData = null;
Iterator<Data> iter = vData.iterator();
while (iter.hasNext()) {
oData = (Data) iter.next();
cpData = new Data(oData);
vPool.add(cpData);
}/* End while */
return;
}
public boolean isPoolEmpty() {
return vPool.size() == 0;
}
public void generateLotto(int nNum, Vector<Data> vData) {
int nSleep = 100, i;
for (i = 0; i < nNum; i++) {
if (isPoolEmpty()) {
copyPool(vData);
/* Sleep for a period */
try {
Thread.sleep(nSleep);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/* Remove Data From Pool to the Set */
vDatas.add(popRandom());
}/* End for */
}/* End generateLotto Method */
/* Return Lotto Numbers */
public Vector<Data> getLottoNum() {
return vDatas;
}
/* Pop a random Number from Pool */
public Data popRandom() {
int nPos; /* Index of Chosen Lotto Number */
Data oInt = null;
Random r = new Random();
/* Choose a Random Position from 0 to nTotal-1 */
nPos = r.nextInt(vPool.size());
oInt = (Data) vPool.remove(nPos);
return oInt;
}
public static void main(String[] args)
{
int[]
angles = { 20, 25, 30, 35, 40, 45, 50, 55, 60 };
Vector<Data>
datas = new Vector<Data>();
for(int i=0; i< angles.length; i++)
{
datas.add(new Data(angles[i],""));
}//End For
GoldLotto
lotto = new GoldLotto(datas,20);
Vector<Data>
vNumbers = lotto.getLottoNum();
Iterator<Data>
iData = vNumbers.iterator();
while(iData.hasNext())
{
System.out.print(iData.next().getnValue()+ " ");
}//End while
return;
}//End main Method
}/* End Class Definition */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -