我正在尝试为学校制作一款类似小游戏的东西。它旨在帮助您了解时间表。我想要的是表的乘数每次都是随机的(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;
}
如何才能使每次用户单击按钮时,选择数组中的下一个数字,同时记住该按钮是在另一个类中声明的,并且 ActionListener 也在其他地方声明的?
哦,数组在类范围内可用,因为函数声明如下:
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);
}
}
关于java - 如何在单击按钮时增加变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22785202/