Bluej 掷骰子
我的代码有什么问题?我用的是BlueJ。基本上我想做的是,选择骰子有多少边,输入每边的数量,掷骰子一定的次数,并显示一个数字已经掷了多少次 例:六面,数字是:1,2,3,4,5,6。我掷骰子20次。我看到一个侧面被滚动了多少次 错误为java.lang.ArrayIndexOutOfBoundsExceptionBluej 掷骰子,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中的
你的一行代码
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");
}
}
}