Bluej 掷骰子

Bluej 掷骰子,bluej,dice,Bluej,Dice,我的代码有什么问题?我用的是BlueJ。基本上我想做的是,选择骰子有多少边,输入每边的数量,掷骰子一定的次数,并显示一个数字已经掷了多少次 例:六面,数字是:1,2,3,4,5,6。我掷骰子20次。我看到一个侧面被滚动了多少次 错误为java.lang.ArrayIndexOutOfBoundsException 你的一行代码 int[ ] output = new int[c] 应该读 int[ ] output = new int[d] 因为输出数组的大小应该等于用户希望滚动存储在d中的

我的代码有什么问题?我用的是BlueJ。基本上我想做的是,选择骰子有多少边,输入每边的数量,掷骰子一定的次数,并显示一个数字已经掷了多少次

例:六面,数字是:1,2,3,4,5,6。我掷骰子20次。我看到一个侧面被滚动了多少次

错误为java.lang.ArrayIndexOutOfBoundsException


你的一行代码

int[ ] output = new int[c]
应该读

int[ ] output = new int[d]

因为输出数组的大小应该等于用户希望滚动存储在d中的模具的次数。c存储模具上的边数。

您可以告诉我们出了什么问题!添加异常消息(如果有),以及预期和实际输出。您的代码有问题。它显示出错误的输出。试试这个代码!!!!你能解释一下你的答案吗?这可能对你有所帮助。
import javax.swing.*;
class Dice
{
public static void main (String [] args)
{
        int c = Integer.parseInt(JOptionPane.showInputDialog("How many sides?"));
        String[ ] number = new String[c];


        int d = Integer.parseInt(JOptionPane.showInputDialog("How many times do you 
     want to roll your dice?"));
        int[ ] output = new int[c];

        for(int i=0;i<c;i++)
        {
            number[i] = JOptionPane.showInputDialog("Enter side number:");
        }
        for(int i=0;i<d;i++)
        {
            System.out.println("exoashf");
            int r;
            r = (int) Math.floor(Math.random() * c) + 1;
            for(int j=0;j<d;i++)
            {
                int n1=Integer.parseInt(number[j]);
                if(r==n1)
                {
                    output[j]=output[j]+1;
                }
            }
        }
        for(int i=0;i<c;i++)
        {
            System.out.println("number, "+number[i]+"was rolled "+output[i]+"times");
        }
    }
   }
import javax.swing.*;
class Dice
{
public static void main (String [] args)
{
        int c = Integer.parseInt(JOptionPane.showInputDialog("How many sides?"));
        String[ ] number = new String[c];


        int d = Integer.parseInt(JOptionPane.showInputDialog("How many times do you 
     want to roll your dice?"));
        int[ ] output = new int[c];

        for(int i=0;i<c;i++)
        {
            number[i] = JOptionPane.showInputDialog("Enter side number:");
        }
        for(int i=0;i<d;i++)
        {
            System.out.println("exoashf");
            int r;
            r = (int) Math.floor(Math.random() * c) + 1;
            for(int j=0;j<d;i++)
            {
                int n1=Integer.parseInt(number[j]);
                if(r==n1)
                {
                    output[j]=output[j]+1;
                }
            }
        }
        for(int i=0;i<c;i++)
        {
            System.out.println("number, "+number[i]+"was rolled "+output[i]+"times");
        }
    }
   }