成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

java實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)

這篇文章給大家分享的java實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)的步驟,相信大部分人都還沒(méi)學(xué)會(huì)這個(gè)技能,為了讓大家學(xué)會(huì),給大家總結(jié)了以下內(nèi)容,話不多說(shuō),一起往下看吧。

站在用戶(hù)的角度思考問(wèn)題,與客戶(hù)深入溝通,找到濮陽(yáng)縣網(wǎng)站設(shè)計(jì)與濮陽(yáng)縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶(hù)體驗(yàn)好的作品,建站類(lèi)型包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)頁(yè)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋濮陽(yáng)縣地區(qū)。

需求

要求是開(kāi)發(fā)幸運(yùn)抽獎(jiǎng)系統(tǒng),客戶(hù)必須首先注冊(cè)成為該商場(chǎng)會(huì)員,會(huì)員登錄成功后,就可以參加抽獎(jiǎng)活動(dòng)了。
注冊(cè)

用戶(hù)選擇“注冊(cè)”菜單,進(jìn)入注冊(cè)界面。輸入用戶(hù)名和密碼后,系統(tǒng)提示注冊(cè)成功,并給出會(huì)員卡號(hào)。
登錄

注冊(cè)成功后,用戶(hù)選擇“登錄”菜單,進(jìn)入登錄界面。輸入注冊(cè)時(shí)的用戶(hù)名和密碼。登錄成功,系統(tǒng)提示歡迎信息。如果用戶(hù)和密碼輸入錯(cuò)誤,提示用戶(hù)繼續(xù)輸入,最多有3次機(jī)會(huì)。
抽獎(jiǎng)

登錄成功后,用戶(hù)選擇“抽獎(jiǎng)”菜單,進(jìn)入幸運(yùn)抽獎(jiǎng)界面。輸入會(huì)員卡號(hào),系統(tǒng)生成5個(gè)4位隨機(jī)數(shù)作為幸運(yùn)數(shù)字。如果會(huì)員卡號(hào)是其中之一,則成為本日幸運(yùn)會(huì)員。
源代碼
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)動(dòng)  
    {1,"一等獎(jiǎng)",0.0001},  
    {2,"不要灰心",39.9994}, 
    {3,"祝您好運(yùn)",20.0},  
    {4,"二等獎(jiǎng)",0.0002},  
    {5,"再接再厲",20.0},  
    {6,"運(yùn)氣先攢著",10.0},  
    {7,"三等獎(jiǎng)",0.0003},  
    {8,"謝謝參與",10.0} 
};
Object result[] = award(prizeArr);//抽獎(jiǎng)后返回獎(jiǎng)品等級(jí)及獎(jiǎng)品描述

//抽獎(jiǎng)后返回獎(jiǎng)品等級(jí)及獎(jiǎng)品描述  
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ù)概率獲取獎(jiǎng)項(xiàng)號(hào)碼  
    String msg = (String) prizeArr[prizeId][1];//獎(jiǎng)品信息
    Integer prizeIds = prizeId +1;
    System.out.println("獎(jiǎng)品號(hào): "+prizeIds +" 獲獎(jiǎng)等級(jí):"+msg);  

    return new Object[]{prizeId,msg};  
}

//根據(jù)概率獲取獎(jiǎng)項(xiàng)  
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){//中獎(jiǎng) 
                result = i;  
                break;  
            }else{  
                sum -=obj[i];  
            }  
        }  
    } catch (Exception e) {  
        e.printStackTrace();  
    }
    /**
     * 獎(jiǎng)品控制代碼,這里可以控制我們的獎(jiǎng)品的等級(jí)
     * **/
    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);//抽獎(jiǎng)后返回角度和獎(jiǎng)品等級(jí)
        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實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。

當(dāng)前名稱(chēng):java實(shí)現(xiàn)抽獎(jiǎng)系統(tǒng)
當(dāng)前鏈接:http://jinyejixie.com/article4/pgeioe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站設(shè)計(jì)、靜態(tài)網(wǎng)站、商城網(wǎng)站自適應(yīng)網(wǎng)站、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司
山阳县| 四子王旗| 通海县| 渭源县| 屯昌县| 湘西| 武平县| 岚皋县| 乡宁县| 方正县| 衡阳县| 金川县| 青神县| 普兰县| 五指山市| 余庆县| 富阳市| 双辽市| 浦江县| 阜新市| 屏山县| 沂源县| 若羌县| 新密市| 麻栗坡县| 新乡市| 来宾市| 绥棱县| 札达县| 威宁| 陆川县| 门源| 杨浦区| 醴陵市| 山阳县| 秦皇岛市| 新野县| 韶山市| 博兴县| 万宁市| 津市市|