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

如何为Java掷骰子程序添加roll dice方法与check guess方法?

拆分出rollDice与checkGuess方法的完整代码

下面是重构后的代码,将掷骰子和判断猜数结果的逻辑分别封装为rollDice()和checkGuess()方法,符合作业要求:

package oui;

import java.util.Scanner;

public class DiceCalc { // 类名遵循Java大驼峰命名规范
    
    // 掷两个骰子,返回点数总和
    public static int rollDice() {
        int dice1 = (int)(Math.random() * 6 + 1);
        int dice2 = (int)(Math.random() * 6 + 1);
        return dice1 + dice2;
    }
    
    // 校验猜测结果,输出输赢信息
    public static void checkGuess(int userGuess, int diceSum) {
        System.out.println("Roll: total =  " + diceSum);
        if (diceSum != userGuess) {
            System.out.println("Sorry with a " + diceSum + " You LOSE :(");
        } else {
            System.out.println("Woah!!! With a " + diceSum + " You WIN!!!!!!!");
        }
    }
    
    public static void main(String args[]) {
        Scanner kb = new Scanner(System.in);
        
        System.out.println("Enter the number the dice will roll: ");
        int numGuess = kb.nextInt();
        
        int sum = rollDice();
        checkGuess(numGuess, sum);
        
        kb.close(); // 关闭Scanner避免资源泄漏
    }
}

关键改动说明

  • rollDice方法:把原来生成两个骰子点数并求和的逻辑单独抽离,方法返回点数总和,职责单一,方便复用和维护。
  • checkGuess方法:接收用户猜测的数字和骰子总和,负责判断结果并输出对应的输赢提示,将业务逻辑与输入输出分离。
  • 修正了类名(dicecalc改为DiceCalc),符合Java命名规范;添加了Scanner的关闭操作,避免资源泄漏。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 17:45:43