【发布时间】:2016-06-21 02:58:46
【问题描述】:
我正在尝试使用 NetBeans IDE 6.9.1 创建一个宾果游戏(我是个编码新手)。现在我一直在尝试创建宾果卡。对于 5x5 卡的盒子,我使用了 jButtons。我不能随机排列“B”列中的“B”宾果球。我有一个“有效”的代码,用于随机化哪个“B”球进入哪个“B”jButton,但我的方法不适用于我用来输出随机绘制的宾果球的 jLabel。这是我的“随机 B 球代码”:
String[] Bball1 = {"B5", "B6", "B11"};
String Brandom1 = (Bball1[new Random().nextInt(Bball1.length)]);
String[] Bball2 = {"B1", "B8", "B15"};
String Brandom2 = (Bball2[new Random().nextInt(Bball2.length)]);
String[] Bball3 = {"B3", "B10", "B13"};
String Brandom3 = (Bball3[new Random().nextInt(Bball3.length)]);
String[] Bball4 = {"B2", "B9", "B14"};
String Brandom4 = (Bball4[new Random().nextInt(Bball4.length)]);
String[] Bball5 = {"B4", "B7", "B12"};
String Brandom5 = (Bball5[new Random().nextInt(Bball5.length)]);
这是当用户选择宾果模式时单击提交按钮并生成卡片的代码(不完整):
btnSubmit.setEnabled(false);
cboPattern.setEnabled(false);
btn1B.setText(Brandom1);
btn2B.setText(Brandom2);
btn3B.setText(Brandom3);
btn4B.setText(Brandom4);
btn5B.setText(Brandom5);
是的,这是重复的,并不是过于随机,但我对数组进行了一些研究,因为我没有在计算机科学课上学过它们,并且得到了这个:
public static void main(String[] Bballs) {
String[] Bball;
Bball = new String[2];
Bball[0] = "B1";
Bball[1] = "B2";
Bball[2] = "B3";
int num = (int) (Math.random() * 2);
System.out.println(Bball[num]);
}
这只是一个测试代码,如您所见,我仍然可以多次获得 B1,这不是我想要的宾果卡和随机挑选的宾果球(我还没有开始) .另外,每当我运行我的程序时,它都不会打印出最后一行。我需要在周三结束前完成:/(这是一个迟到的 ISU 项目,不,我没有迟到)。感谢您的宝贵时间。
【问题讨论】:
-
注意:Random.nextInt 优于 Math.random。见stackoverflow.com/questions/738629/…