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

Java初学者求助:实现掷双骰累加至21点的程序开发

帮你完善21点骰子游戏程序

嘿,作为Java初学者能自己搭起代码框架已经超棒啦!我来帮你把这个掷骰子版21点的程序补全,每一步都给你讲清楚逻辑,让你能轻松理解~

首先,先给你完整的可运行代码,之后再拆解关键部分:

import java.util.Random;

public class TwentyOne {
    // 随机数生成器,放在类里只初始化一次更高效
    private static final Random random = new Random();

    public static void main(String[] args) {
        welcome();
        startGame();
    }

    // 欢迎界面方法
    private static void welcome() {
        System.out.println("🎲 欢迎来到21点骰子游戏!");
        System.out.println("规则:每次掷两个骰子,点数累加,达到21点获胜,超过21点失败!");
        System.out.println("游戏开始啦!");
    }

    // 核心游戏逻辑方法
    private static void startGame() {
        int totalPoints = 0;

        while (true) {
            // 掷两个骰子
            int dice1 = rollSingleDice();
            int dice2 = rollSingleDice();
            int roundPoints = dice1 + dice2;
            totalPoints += roundPoints;

            // 打印本轮结果
            System.out.printf("本次掷出:%d 和 %d,本轮点数:%d,累计点数:%d%n", dice1, dice2, roundPoints, totalPoints);

            // 判断胜负
            if (totalPoints == 21) {
                System.out.println("🎉 恭喜你!刚好达到21点,获胜啦!");
                break;
            } else if (totalPoints > 21) {
                System.out.println("😢 糟糕!累计点数超过21点,游戏失败!");
                break;
            } else {
                // 点数还不够,继续提示
                System.out.println("点数还没到21,继续掷骰子...");
            }
        }
    }

    // 单个骰子的掷出逻辑,抽成方法更复用
    private static int rollSingleDice() {
        // nextInt(6)生成0-5的随机数,加1后得到1-6的骰子点数
        return random.nextInt(6) + 1;
    }
}

关键部分拆解说明:

  • 随机数生成:我们用Random类来模拟骰子的随机性,random.nextInt(6)会生成0到5的整数,加1之后就刚好对应骰子的1-6点,完美模拟真实骰子的点数范围。
  • 方法拆分:把欢迎、掷单个骰子、游戏逻辑拆成独立方法,代码更清晰,也方便后续修改(比如想改欢迎语或者骰子规则,直接改对应方法就行)。
  • 循环逻辑:用while(true)做无限循环,直到触发获胜或失败的条件,用break跳出循环,结束游戏。
  • 状态提示:每轮都打印当前掷出的点数和累计点数,让玩家清楚游戏进度,体验更好。

你可以把这段代码复制到Java编译器里运行,就能直接玩这个小游戏啦!如果还有其他疑问,比如想加“是否继续掷骰子”的选择功能,随时问哦~

内容的提问来源于stack exchange,提问作者Eli Young

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:30:23