欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java使用HashMap映射實現消費抽獎功能

 更新時間:2021年09月17日 11:04:17   作者:阿炳的旅程  
這篇文章主要為大家詳細介紹了Java使用HashMap映射實現消費抽獎功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java實現消費抽獎功能的具體代碼,供大家參考,具體內容如下

要求如下:

1、定義獎項類Awards,包含成員變量String類型的name(獎項名稱)和int類型的count(獎項數量)。

2、定義抽獎類DrawReward,包含成員變量Map<Integer, Awards> 類型的rwdPool(獎池對象)。該類實現功能如下:a) 構造方法中對獎池對象初始化,本實驗要求提供不少于4類獎品,每類獎品數量為有限個,每類獎品對應唯一的鍵值索引(抽獎號)。b) 實現抽獎方法draward,由抽獎號在獎池中抽獎,并根據當前獎池的情況作出對應的邏輯處理;c) 利用迭代器Iterator實現顯示獎池獎項情況的方法showPool。

3、編寫測試類,實現下圖效果:

實現代碼:

import java.util.Random;


import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

class Awards {
    private String name;
    private int count;

    public Awards() {
    }

    public Awards(String name, int count) {
        this.name = name;
        this.count = count;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }
}

class DrawReward {
    private Map<Integer,Awards> rwdPool=null;

    public DrawReward(){
        this.rwdPool=new HashMap<Integer,Awards>();
        rwdPool.put(0,new Awards("陽光普照獎:家庭大禮包",100));
        rwdPool.put(1,new Awards("一等獎:華為Mate X",4));
        rwdPool.put(2,new Awards("二等獎:格力吸塵器",6));
        rwdPool.put(3,new Awards("特等獎:¥5000",1));
    }

    public boolean hasAward(int rdkey){
        Awards awards = this.rwdPool.get(rdkey);
        if(awards.getCount()==0) return false;
        else return true;
    }

    public void draward(int rdKey) {
        Awards aw = this.rwdPool.get(rdKey);
        System.out.println("抽獎結果:"+aw.getName());
        aw.setCount(aw.getCount()-1);
    }

    public void showPool(){
        Iterator<Awards> it;
        it = rwdPool.values().iterator();
        while(it.hasNext()){
            Awards aw = it.next();
            System.out.println(aw.getName()+";剩余獎項數量:"+aw.getCount());
        }
    }
}

public class MainClass {
    public static void main(String[] args) {
        DrawReward draw = new DrawReward();
        for(int i=0;i<10;i++){
            Random rd = new Random();
            int rdKey = rd.nextInt(4);
            if(draw.hasAward(rdKey)) {
                draw.draward(rdKey);
            } else {
                i--;
            }
        }

        draw.showPool();
    }
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Spring Boot支持HTTPS步驟詳解

    Spring Boot支持HTTPS步驟詳解

    這篇文章主要介紹了Spring Boot支持HTTPS步驟詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Java版水果管理系統(tǒng)源碼

    Java版水果管理系統(tǒng)源碼

    這篇文章主要為大家詳細介紹了Java版水果管理系統(tǒng)源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • spring關于組件的注入及獲取流程場景分析

    spring關于組件的注入及獲取流程場景分析

    這篇文章主要介紹了spring關于組件的注入及獲取流程場景分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-07-07
  • spring boot 注冊攔截器過程詳解

    spring boot 注冊攔截器過程詳解

    這篇文章主要介紹了spring boot中注冊攔截器過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Java?String源碼contains題解重復疊加字符串匹配

    Java?String源碼contains題解重復疊加字符串匹配

    這篇文章主要為大家介紹了Java?String源碼contains題解重復疊加字符串匹配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • 老生常談設計模式之動態(tài)代理

    老生常談設計模式之動態(tài)代理

    下面小編就為大家?guī)硪黄仙U勗O計模式之動態(tài)代理。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • 2020Mac M1安裝jdk和IDEA的詳細方法

    2020Mac M1安裝jdk和IDEA的詳細方法

    這篇文章主要介紹了2020Mac M1安裝jdk和IDEA的詳細方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • springboot打包如何忽略Test單元測試

    springboot打包如何忽略Test單元測試

    這篇文章主要介紹了springboot打包如何忽略Test單元測試,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringMVC底層執(zhí)行流程及原理解析

    SpringMVC底層執(zhí)行流程及原理解析

    這篇文章主要介紹了SpringMVC底層執(zhí)行流程及原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Java程序包不存在的3種解決方法總結

    Java程序包不存在的3種解決方法總結

    包存在的,但是啟動項目的時候提示包不存在,所以解決下,這篇文章主要給大家介紹了關于Java程序包不存在的3種解決方法,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-01-01

最新評論