Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用hashmap进行Q&;节目?_Java_User Interface_Hashmap - Fatal编程技术网

Java 使用hashmap进行Q&;节目?

Java 使用hashmap进行Q&;节目?,java,user-interface,hashmap,Java,User Interface,Hashmap,我正在写这学期的期末课程,我想对一些事情发表意见。我将创建一个GUI,让用户尝试解决基本的数学问题。我考虑使用hashmap,因为它包含一个键和一个值。我的想法是,我可以向用户显示问题,然后将其与给出的答案进行比较。这些问题必须随机提出。所以你们认为hashmap是一种可行的方法,还是认为有更好的方法来实现它? 谢谢我认为最好使用一个存储问题和答案的类,而不是有一个问题和答案的列表。因此,您还可以封装例程,以测试答案是否正确以及您需要的任何其他内容。如果您想测试用户的基本数学问题,我建议动态生成

我正在写这学期的期末课程,我想对一些事情发表意见。我将创建一个GUI,让用户尝试解决基本的数学问题。我考虑使用hashmap,因为它包含一个键和一个值。我的想法是,我可以向用户显示问题,然后将其与给出的答案进行比较。这些问题必须随机提出。所以你们认为hashmap是一种可行的方法,还是认为有更好的方法来实现它?
谢谢

我认为最好使用一个存储问题和答案的类,而不是有一个问题和答案的列表。因此,您还可以封装例程,以测试答案是否正确以及您需要的任何其他内容。

如果您想测试用户的基本数学问题,我建议动态生成问题数据(评估答案也是如此)。如果你有不同类型的问题(比如除法、指数、对数等),你应该为这些问题编写课程。它们都可以从抽象的
问题
类继承

比如:

public abstract class Question{
    // ... general question fields and methods.
    String question;
    double answer;

    public boolean evaluate(double input){
        if (input == this.answer) { return true; }
        else { return false; }
    }
}

public class LogarithmQ extends Question{

    // Declare relevant fields such as x, y, ... , answer

    // Define a constructor that generates random numbers to populate fields
    // so that every question 'object' is different.

    // also have an "evaluate()" method that 
    // takes as input the user's answer
    // and returns true/false based on the correct answer value
}

public class AdditionQ extends Question{
    // similar stuff here
}
如果希望应用程序在每次运行时自动生成新数据,这种方法将非常有用

现在对于GUI,您可以实例化几种不同类型的问题对象并将它们存储在列表中。由于每个对象都包含问题和答案,并扩展了抽象的
question
类,因此您将有一个适当且易于使用的接口


当然,这只是一个建议。对于这种方法会有几种不同的意见。

一般来说,这种问题不适合堆栈溢出。它可能会起作用,但100种可怕的方法也会起作用,最终都归结为个人观点。不清楚有一个键和一个值如何有助于随机挑选问题,并将给定答案与预期答案进行比较。你有什么想法?代码在哪里?@StevenEck:你可以在自定义类中得到相同的结果,只是你可以添加更多类似于问题反馈的内容。不,你可以在自定义类中添加“问题”和“答案”字段。然后将这些对象放入
ArrayList
中,就完成了。这只是一种方法,有很多可能。根据您告诉我们的,这可能是最简单的一个。不,不。您将使用
问题的实例集合。问题是一个自定义类,包含
文本
字段(问题的文本)和
预期答案
字段(问题的预期答案)。您可以在这个对象中添加任意多的有用方法。Java是一种面向对象语言。定义你自己的类,使用封装。天啊,我没想到会这样。非常感谢。我正在深入研究JavaAPI。这是我的第二个学期,也是第一个学期,我们被要求检查里面的东西。再次感谢