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

JavaFX骰子程序:获取并打印最后一次掷出整数值问题求助

解决JavaFX骰子程序保存最后一次掷骰值的问题

嘿,这个问题其实很好搞定!你现在的情况应该是在按钮点击事件里直接生成了随机点数并输出,但没把这个值存下来对吧?其实只需要两步就能解决:

  • 第一步:在类级别定义一个成员变量
    你需要在你的JavaFX控制器类(或者主类)里声明一个整数变量,用来持久化保存最后一次的掷骰结果。这样这个变量不会随着按钮点击方法的结束而消失,整个类里的方法都能访问它:

    private int lastRolledValue; // 保存最后一次掷出的点数
    
  • 第二步:在按钮点击事件里赋值并使用
    当你生成随机点数之后,把它赋值给刚才定义的变量,之后不管是在事件里直接打印,还是在其他方法里调用这个值都没问题。比如你的按钮点击代码可以改成这样:

    btn.setText("Roll Die");
    btn.setOnAction(e -> {
        // 生成1到6的随机点数
        int diceValue = new Random().nextInt(6) + 1;
        // 把本次点数赋值给成员变量,保存下来
        lastRolledValue = diceValue;
        
        // 输出本次点数
        System.out.println("本次掷出的点数:" + diceValue);
        // 直接打印保存的最后一次点数(可选)
        System.out.println("已保存的最后一次点数:" + lastRolledValue);
    });
    

如果之后你想在其他地方使用这个值,比如加个按钮专门查看最后一次结果,直接调用lastRolledValue就行:

Button checkLastBtn = new Button("查看最后一次点数");
checkLastBtn.setOnAction(e -> {
    System.out.println("最后一次掷出的点数是:" + lastRolledValue);
});

简单来说,就是把原来只存在于方法内部的临时变量,提升为类的成员变量,这样它的生命周期就和类一致,就能持续保存最后一次的结果啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:29:05