這篇文章給大家分享的java實現(xiàn)抽獎系統(tǒng)的步驟,相信大部分人都還沒學會這個技能,為了讓大家學會,給大家總結(jié)了以下內(nèi)容,話不多說,一起往下看吧。
站在用戶的角度思考問題,與客戶深入溝通,找到濮陽縣網(wǎng)站設(shè)計與濮陽縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、主機域名、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務覆蓋濮陽縣地區(qū)。
需求
要求是開發(fā)幸運抽獎系統(tǒng),客戶必須首先注冊成為該商場會員,會員登錄成功后,就可以參加抽獎活動了。
注冊
用戶選擇“注冊”菜單,進入注冊界面。輸入用戶名和密碼后,系統(tǒng)提示注冊成功,并給出會員卡號。
登錄
注冊成功后,用戶選擇“登錄”菜單,進入登錄界面。輸入注冊時的用戶名和密碼。登錄成功,系統(tǒng)提示歡迎信息。如果用戶和密碼輸入錯誤,提示用戶繼續(xù)輸入,最多有3次機會。
抽獎
登錄成功后,用戶選擇“抽獎”菜單,進入幸運抽獎界面。輸入會員卡號,系統(tǒng)生成5個4位隨機數(shù)作為幸運數(shù)字。如果會員卡號是其中之一,則成為本日幸運會員。
源代碼
import java.math.BigDecimal;import java.util.ArrayList;import java.util.List;
import com.thinkive.base.jdbc.DataRow;
public class TurnTable {
static Object[][] prizeArr = new Object[][]{
//里面的指針轉(zhuǎn)動
{1,"一等獎",0.0001},
{2,"不要灰心",39.9994},
{3,"祝您好運",20.0},
{4,"二等獎",0.0002},
{5,"再接再厲",20.0},
{6,"運氣先攢著",10.0},
{7,"三等獎",0.0003},
{8,"謝謝參與",10.0}
};
Object result[] = award(prizeArr);//抽獎后返回獎品等級及獎品描述
//抽獎后返回獎品等級及獎品描述
public static Object[] award(Object[][] prizeArr){
//概率數(shù)組
float obj[] = new float[prizeArr.length];
for(int i=0;i<prizeArr.length;i++){
obj[i] = Float.parseFloat(prizeArr[i][2].toString());
}
Integer prizeId = getRand(obj); //根據(jù)概率獲取獎項號碼
String msg = (String) prizeArr[prizeId][1];//獎品信息
Integer prizeIds = prizeId +1;
System.out.println("獎品號: "+prizeIds +" 獲獎等級:"+msg);
return new Object[]{prizeId,msg};
}
//根據(jù)概率獲取獎項
public static Integer getRand(float obj[]){
Integer result = null;
try {
float sum = 0.0f;//概率數(shù)組的總概率精度
float min = 0.0f;//
for(int i=0;i<obj.length;i++){
BigDecimal beforSum = new BigDecimal(Float.toString(sum));
BigDecimal objValue = new BigDecimal(Float.toString(obj[i]));
sum = beforSum.add(objValue).floatValue();
}
for(int i=0;i<obj.length;i++){//概率數(shù)組循環(huán)
BigDecimal db = new BigDecimal(Math.random() * (sum - min) + min);
BigDecimal b = new BigDecimal(Float.toString(obj[i]));
if(compareMethod(db,b) == -1){//中獎
result = i;
break;
}else{
sum -=obj[i];
}
}
} catch (Exception e) {
e.printStackTrace();
}
/**
* 獎品控制代碼,這里可以控制我們的獎品的等級
* **/
return result;
}
public static void main(String[] args) {
DataRow data = new DataRow();//此處DataRow為封裝了的 HashMap
List<DataRow> resultList = new ArrayList<DataRow>();
for (int i = 0; i < 10000; i++) {
int k = 1;
Object result[] = award(prizeArr);//抽獎后返回角度和獎品等級
String prize = "";
String comment = "";
for (Object object : result) {
if(k==1){
prize = object.toString();
}else if(k==2){
comment = object.toString();
}
k++;
}
if(k==3){
data.set("prize", Integer.valueOf(prize)+1);
data.set("comment", comment);
resultList.add(data);
}
}
}
public static int compareMethod(BigDecimal a,BigDecimal b){
return a.compareTo(b);
}
}
關(guān)于java實現(xiàn)抽獎系統(tǒng)就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。
當前名稱:java實現(xiàn)抽獎系統(tǒng)
當前鏈接:http://www.chinadenli.net/article4/pgeioe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務器、網(wǎng)站設(shè)計、靜態(tài)網(wǎng)站、商城網(wǎng)站、自適應網(wǎng)站、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)