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
相关产品推荐
相关产品推荐

