You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java开发的Hangman猜词游戏最终无法正确显示原单词,该如何修改代码?

问题根源

你遇到的最终单词输出异常是因为hidden是char[]类型的字符数组,直接和字符串拼接时,Java会默认调用数组的toString()方法,输出的是数组的内存地址标识,而非数组中存储的字符内容。你在游戏过程中打印隐藏词时用到的new String(hidden)才是字符数组转可读字符串的正确写法。

可选修改方案

方案1:直接输出已猜对的隐藏数组内容

将原打印代码行修改为如下内容即可,和你游戏过程中的打印逻辑保持一致:

System.out.println("\nGreat!! You guessed the word("+new String(hidden)+")!!!");

方案2:直接输出存储的原单词(更简洁)

游戏结束时已经确认用户完全猜对了单词,你提前存储了当前随机抽取的原单词在变量w中,直接输出该变量即可:

System.out.println("\nGreat!! You guessed the word("+w+")!!!");
额外可选优化(非必需)

你代码中判断重复输入正确字母的逻辑里,变量y的计数存在冗余:匹配到已猜对的字符时y会先+1,之后又不会进入hidden[i]=='*'的分支做第二次+1,最终y==1触发重复提示的逻辑虽然能正常运行,但可以调整计数逻辑让代码可读性更高,不调整也不影响核心功能。

内容的提问来源于stack exchange,提问作者Cy.Car

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:45:02