由于“无法从 void 转换为 int”错误,Java 代码无法工作

问题描述

我对在 uni 学习 Java 基础知识非常陌生,我正在开展一个项目,为每个玩家返回 6 个随机骰子,但在最后一行“resultRoll = JOptionPane...”中遇到此错误任何帮助将不胜感激。

public class Dice {
  public static void main(String[] args){
  }
        Dice () {
            Component f = new JFrame();
        
        Random rnd = new Random();
        String resultRoll;

        // values set 1 to 6
        int n1 = 1 + rnd.nextInt(7-1);
        int n2 = 1 + rnd.nextInt(7-1);
        int n3 = 1 + rnd.nextInt(7-1);
        int n4 = 1 + rnd.nextInt(7-1);
        int n5 = 1 + rnd.nextInt(7-1);
        int n6 = 1 + rnd.nextInt(7-1);
        
        resultRoll = JOptionPane.showMessageDialog(f,"Yay! You rolled: " + n1 + n2 + n3 + n4 + n5 + n6);
        
    }
}

解决方法

您可能想在显示消息之前设置 resultRoll

resultRoll = n1 + " " + n2 + " " + n3 + " " + n4 + " " + n5 + " " + n6;
JOptionPane.showMessageDialog(f,"Yay! You rolled: " + resultRoll);