Java 如何在单击按钮时增加变量?
我想为学校做一个小游戏。它的目的是帮助你学习你的时间表。我想要的是表的乘数每次都是随机的(5x8、5x3、5x9等) 我用数组控制数字的生成,如下所示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
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);
}
}