我正试图从我的String数组(称为Questions)中生成随机问题。里面有10个物品。我试图设置JLabel的文本,单击该按钮后,将随机选择并显示数组中的一个问题。但是,这两段代码不会返回任何内容。
public String getNextQuestion() {
int NextQues = (int)(Math.random()*10);
return Questions[NextQues];}
public void actionPerformed (ActionEvent e) {
if(e.getSource() == Button) {
Hello.setText(Questions[NextQues]);
答案 0 :(得分:0)
不要在10
中将魔术数字getNextQuestion()
硬编码。与
ThreadLocalRandom
相比,我更喜欢Math.random()
。喜欢,
public String getNextQuestion() {
return Questions[ThreadLocalRandom.current().nextInt(Questions.length)];
}
然后在actionPerformed
中调用该方法,
public void actionPerformed(ActionEvent e) {
if (e.getSource() == Button) {
Hello.setText(getNextQuestion());
}
}
答案 1 :(得分:0)
您应该调用方法getNextQuestion
好的,您需要在按钮上执行一个动作监听程序,以便进行某些操作。像
public String getNextQuestion() {
int NextQues = (int)(Math.random()*10);
return Questions[NextQues];}
// inside main method
...
Button.addActionListener (
new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Hello.setText(getNextQuestion());
}
});
...