如何从字符串数组中随机获取项目?

时间:2018-12-08 22:48:28

标签: java arrays user-interface random

我正试图从我的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]);

2 个答案:

答案 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());
                }
             });
 ...