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

Java骰子掷骰程序:实现按回车/任意键持续掷骰的方法求助

让掷骰子程序持续运行的解决方案

嘿,刚接触编程就能动手做游戏超棒的!要实现按回车继续掷骰的功能,咱们可以用循环让程序重复执行掷骰逻辑,再用Scanner来等待用户输入触发下一次掷骰。

先给你指出原代码里的两个小问题:

  • generator.nextInt(7)会生成0到6的随机数,但骰子点数是1到6,所以应该改成generator.nextInt(6) + 1
  • 你的System.out.println语句没写完,得补全哦

下面是修改后的完整代码,我加了详细注释:

import java.util.*;

public class RandomDice {
    public static void main(String[] args) {
        Random generator = new Random();
        Scanner scanner = new Scanner(System.in);
        
        // 用while(true)实现无限循环,直到用户主动退出
        while (true) {
            // 生成1-6的有效骰子数
            int roll1 = generator.nextInt(6) + 1;
            int roll2 = generator.nextInt(6) + 1;
            int diceSum = roll1 + roll2;
            
            // 输出掷骰结果
            System.out.println("你掷出了: " + roll1 + " + " + roll2 + " = " + diceSum);
            
            // 提示用户操作
            System.out.println("按回车键继续掷骰,输入quit退出程序");
            
            // 读取用户输入
            String input = scanner.nextLine();
            
            // 判断用户是否要退出
            if (input.equalsIgnoreCase("quit")) {
                System.out.println("游戏结束!");
                break;
            }
        }
        
        // 关闭输入流
        scanner.close();
    }
}

核心逻辑说明:

  • while(true):这是一个无限循环,会反复执行里面的掷骰代码,直到遇到break语句才停止
  • scanner.nextLine():等待用户输入,用户按回车后,程序会自动进入下一次循环
  • equalsIgnoreCase("quit"):支持用户输入quit(不区分大小写)来主动结束游戏,体验更友好

如果你不想加退出功能,只想单纯按回车继续掷骰,也可以简化成这样:

import java.util.*;

public class RandomDice {
    public static void main(String[] args) {
        Random generator = new Random();
        Scanner scanner = new Scanner(System.in);
        
        while (true) {
            int roll1 = generator.nextInt(6) + 1;
            int roll2 = generator.nextInt(6) + 1;
            int diceSum = roll1 + roll2;
            
            System.out.println("You rolled a: " + roll1 + " + " + roll2 + " = " + diceSum);
            System.out.println("按回车键继续掷骰...");
            scanner.nextLine(); // 仅等待用户按回车
        }
    }
}

这样每次用户按回车,程序就会重新执行一次掷骰操作啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:01:23