有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案