如何从要显示的方法中选取随机图像



我的作业希望我们用图像提出问题(使用我在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);       
}    

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

您可能还需要考虑将问题的所有信息分组到问题类中,以便于操作、阅读和访问。

最新更新