如何从一个方法中选择一个随机图像来显示?

时间:2016-04-24 18:31:01

标签: java javafx

我的任务要求我们用图像提问(使用我在java项目中导入的图像文件)。如何从我的方法中选择随机图像文件?例如,在我的第二行代码中,我有一个显示图片的图像文件,该文件来自" states_capitals"方法如下。如何以一种只显示我列出的随机文件图像的方式更改它?

public void start(Stage primaryStage){

    ImageView us = new ImageView(new Image("file:///Users/flag.png"));

    Scene scene = new Scene (pane2, 600, 300);
    primaryStage.setScene(scene);
    primaryStage.show();   

    submit_button.setOnAction(e -> {
        correct_wrong();
    });
}

private void correct_wrong () {
    String index = answer_box.getText();   

    Map<String, String> mapStateCapitals = new HashMap<>(50);
    for (String[] stateCapital : states_capitals) {
        mapStateCapitals.put(stateCapital[0], stateCapital[1]);
    } 

    mapStateCapitals.forEach((state, capital) -> {    
        if (index.equalsIgnoreCase(capital)) {
            answer_result.appendText("Correct!");
        } else {
            answer_result.appendText("WRONG - The correct answer is " + capital);
        }
    });
}

private static String[][] states_capitals = {
        {"file:///Users/flag.png", "Siri"},
        {"file:///Users/flag.png2.png", "Juju"},
        {"file:///Users/flag.png3.png", "Cambodia"},           
};

public static void main(String[] args) {
    launch(args);       
}    

1 个答案:

答案 0 :(得分:1)

从概念上讲,您只需创建一个Random对象,然后使用nextInt(int n)方法,在0和数组长度之间创建一个随机数,并通过该数组引用该数组中的信息你创建的号码。如果您需要帮助,请参阅Random课程的java API

您可能还想考虑将问题的所有信息分组到问题类中,以便更轻松地进行操作,阅读和访问。