PillPool/KellyPool与java数组
我最近一直在尝试一个药丸池项目,遇到了一些麻烦。首先,对于那些不知道的人来说:凯利池是一种池的形式,每个玩家随机挑选三个编号的药丸(1-15),并在不告诉他们你的药丸的情况下敲入每个人的号码。我首先试着用数学。random()方法来编程,然后我意识到我必须在数组上使用shuffle()方法。现在我仍然无法让我的两个JButton在每次按下按钮时有效地显示洗牌数组中的3个数字
我想我是一个初学者,所以我对数组是新手。如果这是一个模糊的问题,我会补充细节
import javax.swing.*;
import java.awt.*;
import java.util.*;
import java.util.Random;
public class Display05 extends JPanel
{
Random r = new Random();
private JLabel label1, label2, label;
public int v, v1, v2, x, k, a;
public Display05()
{
setLayout(new GridLayout(3, 1));
Font f = new Font("Serif", Font.BOLD, 30);
//total = value = 0;
label1 = new JLabel("First Pill: " + v);
label1.setFont(f);
label1.setForeground(Color.blue);
add(label1);
label2 = new JLabel("Second Pill: " + v1);
label2.setFont(f);
label2.setForeground(Color.blue);
add(label2);
label = new JLabel("Third Pill: " + v2);
label.setFont(f);
label.setForeground(Color.blue);
add(label);
}
public static int[] rA(int[] array){
Random rgen = new Random();
for(int k=0; k<array.length; k++){
int randPos = rgen.nextInt(array.length);
int temp = array[k];
array[k] = array[randPos];
array[randPos] = temp;
}
return array;
}
public void udate()
{
Arrays.copyOfRange(obj, 0, 3);
Arrays.copyOfRange(obj, 4, 7);
Arrays.copyOfRange(obj, 8, 11);
Arrays.copyOfRange(obj, 12, 15);
label1.setText("First Pill " + );
label2.setText("Second Pill: " + );
label.setText("Third Pill: " + );
}
public void list()
{
ArrayList<String> obj = new ArrayList<String>();
obj.add("1");
obj.add("2");
obj.add("3");
obj.add("4");
obj.add("5");
obj.add("6");
obj.add("7");
obj.add("8");
obj.add("9");
obj.add("10");
obj.add("11");
obj.add("12");
obj.add("13");
obj.add("14");
obj.add("15");
Collections.shuffle(obj);
}
}
我从第一次尝试中删掉了一些东西。接下来是面板,我很确定它不需要任何工作
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Panel05 extends JPanel
{
private Display05 display;
public Panel05()
{
setLayout(new FlowLayout());
display = new Display05();
add(display);
JButton button = new JButton("Choose pills");
button.addActionListener(new Listener());
add(button);
JButton utton = new JButton("Shuffle Pills");
utton.addActionListener(new istener());
add(utton);
}
private class Listener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
display.update();
}
}
private class istener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
display.list();
}
}
}
除非有人认为驱动程序文件可能有用,否则我不会将其包括在内。它只有10行代码,基本上和我的其他驱动程序一样。 谢谢你的帮助
共 (0) 个答案