java map get i_java中Hashmap的get方法

博主在做模拟21点游戏时遇到问题,使用HashMap存储卡牌数据,在玩家抓牌方法中通过key取value值为null,但将相关代码放到一个类里就正常了,博主对此感到困惑并寻求解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己做了一个模拟21点的游戏,做到一半却碰到了点问题。publicclass功能类{staticint牌库数量=52;staticint计分=0;staticint玩家点数=0;staticint玩家暗牌点数=0;staticint玩家记牌=0...

自己做了一个模拟21点的游戏,做到一半却碰到了点问题。

public class 功能类

{

static int 牌库数量=52;

static int 计分=0;

static int 玩家点数=0;

static int 玩家暗牌点数=0;

static int 玩家记牌=0;

static int 电脑点数=0;

static int 电脑记牌=0;

static int 电脑暗牌点数=0;

static HashMap 卡牌=new HashMap();

public static void 牌数据()

{

卡牌.put(2,"2");

卡牌.put(3,"3");

卡牌.put(4,"4");

卡牌.put(5,"5");

卡牌.put(6,"6");

卡牌.put(7,"7");

卡牌.put(8,"8");

卡牌.put(9,"9");

卡牌.put(10,"10");

卡牌.put(10,"K");

卡牌.put(10,"Q");

卡牌.put(10,"K");

卡牌.put(11,"A");

}

public static void 玩家抓牌()

{ 牌库数量-=1;

玩家记牌+=1;

int i=(int) (Math.random()*9+2);

if (玩家记牌==1){玩家暗牌点数=i;}

玩家点数+=i;

String j=(String)卡牌.get(i);

System.out.println("玩家获得第"+玩家记牌+"张牌:"+j);

System.out.println("玩家目前点数"+玩家点数);

System.out.println("牌库剩余数量"+牌库数量);

if (玩家点数>21) {System.out.println("玩家瞬间爆炸");}

if (玩家点数==21 && 玩家记牌==2)

{

System.out.println("玩家完成了一次black jack!" );

计分+=2;

}

}

==============================================================================

public class 主方法类

{

static boolean 玩家回合=true;

public static void main(String[]args)

{

功能类.玩家抓牌();

}

}

===============================================

为什么取出的value值是null?

我做了一个测试,把他们放到一个类里,就正常了,真是想不明白,求各路大神解救!

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值