Flask接口签名sign原理与实例代码浅析
316
2022-09-26
Java使用HashMap映射实现消费抽奖功能
本文实例为大家分享了java实现消费抽奖功能的具体代码,供大家参考,具体内容如下
要求如下:
1、定义奖项类Awards,包含成员变量String类型的name(奖项名称)和int类型的count(奖项数量)。
2、定义抽奖类DrawReward,包含成员变量Map
3、编写测试类,实现下图效果:
http://
实现代码:
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
public DrawReward(){
this.rwdPool=new HashMap
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
it = rwdPool.values().iterator();
while(it.hasNext()){
Awards aw = it.next();
System.out.http://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 {
HzBwGTi--;
}
}
draw.showPool();
}
}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~