Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在单击按钮时增加变量?_Java_Arrays_Swing_Jbutton_Increment - Fatal编程技术网

Java 如何在单击按钮时增加变量?

Java 如何在单击按钮时增加变量?,java,arrays,swing,jbutton,increment,Java,Arrays,Swing,Jbutton,Increment,我想为学校做一个小游戏。它的目的是帮助你学习你的时间表。我想要的是表的乘数每次都是随机的(5x8、5x3、5x9等) 我用数组控制数字的生成,如下所示 public static Integer[] generateNumbers() { Integer[] arr = new Integer[12]; for(int j = 0; j < arr.length; j++) { arr[j] = j+1; } Collections

我想为学校做一个小游戏。它的目的是帮助你学习你的时间表。我想要的是表的乘数每次都是随机的(5x8、5x3、5x9等)

我用数组控制数字的生成,如下所示

public static Integer[] generateNumbers()
{
    Integer[] arr = new Integer[12];

    for(int j = 0; j < arr.length; j++)
    {
        arr[j] = j+1;
    }
    Collections.shuffle(Arrays.asList(arr));
    System.out.println(Arrays.asList(arr));
    return arr;
}

不需要单独类中的按钮,只要单击,操作侦听器就会与数组通信,我看到的最简单的方法是在数组的类中放置一个公共方法,该方法获取索引,然后递增索引,并返回存储在其中的元素

享受编码的乐趣,但这些作业的目的是让你挠头,试着写一些代码,如果代码中断,让我们知道,而不是要求一般答案。

主题答案
我没有看到按钮…@feuerball我没有把按钮声明放在帖子里。如果你愿意,我可以..你不需要看到它,单击按钮时会调用action listener。我甚至没有看到
ActionListener
..@feuerball ActionListener在另一个类中。按钮响了。这不是我的问题…我在这里很愚蠢-你说的索引是什么意思?没问题,问这个问题没什么错:)索引是如何访问数组中的元素,所以这个“数组[3]”这里3是索引,它将返回数组中的第四个元素,因为数组从索引0开始。我想可能是这样的。谢谢。好的,我已经考虑了一段时间了。首先,我如何获取索引?这取决于您是如何实现的,当您发现时,将其作为参数传递。。或者哪一个最适合你做事的方式。
public static Integer[] arr = generateNumbers();
public class UnicornFrame extends JFrame {

     private Integer[] poneyArr = MyClassThatGeneratesNumbers.generateNumbers();
     private int poneyCounter = 0;
     private JButton poneyButton;

     public void poneyInit() {
         System.out.println("Unicorns are poney magical friends!");
         poneyButton = new JButton("OMG! Ponies!");
         // Java 8 Lambdas! Yey!
         poneyButton.addActionListener(e -> { 
             if (poneyCounter >= poneyArr.length) {
                  poneyArray = MyClassThatGeneratesNumbers.generateNumbers();
                  poneyCounter = 0;      
             }         
             Integer selected = poneyArr[poneyCounter++];   
             System.out.println("OMG! I have selected " + selected);
         });

         // other stuff

         add(poneyButton, BorderLayout.CENTER);
     }
}