java - 如何从方法中选择随机图像进行显示?

标签 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);       
}    

最佳答案

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

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

关于java - 如何从方法中选择随机图像进行显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36827212/

相关文章:

java - JapserReport 中的覆盖页码未反射(reflect)在最终 PDF 中

css - 当文本太长时创建滚动文本

javafx-2 - 设置边框大小

java - 如何检查对象是否是Java中的集合类型?

java - 如何在 Java 中将 dropbox 文件夹与 Amazon S3 同步?

c# - 通过 WCF 清理传入的 XML

java - 将 jint 转换为 jstring

JavaFX 11 : IllegalAccessError when creating Label

css - 如何自定义 HTML 编辑器

javafx - 为什么 ExecutorService 不返回我的任务结果?