我正在寫這個學期的最終課程,我想得到一些意見。我將創建一個GUI,讓用戶嘗試解決基本的數學問題。我正在考慮使用hashmap,因爲它包含一個鍵和一個值。我的想法是我可以向用戶顯示問題,然後將其與給出的答案進行比較。問題必須隨機出現。那麼你們認爲hashmap是否應該走,或者你認爲可以通過更好的方式來實現它? 謝謝使用hashmap進行問答程序?
1
A
回答
1
如果您想要測試用戶的基本數學問題,我會推薦動態地提出問題數據(並且評估答案也是一樣)。如果你有不同類型的問題(比如說除法,指數,對數等),你應該爲這些問題編寫類。他們都可以繼承一個抽象的Question
類。
因此,像:
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,您可以實例化幾種不同類型的問題對象並將它們存儲在列表中。由於每個對象都包含問題和答案,並且擴展了抽象類,所以您將擁有一個合適且易於使用的界面。
這當然只是一個建議。這種方法會有幾種不同的觀點。
+0
嘖嘖嘖嘖,我沒想到這一切。謝謝。我正在挖掘Java API。這是我的第二個學期,也是我們第一個學期在那裏檢查的東西。再次感謝 –
1
我認爲最好使用存儲問題和答案的類,而不是有一個列表。所以你也可以封裝例程來測試答案是否正確以及你需要的其他東西。
相關問題
- 1. 在Java中使用HashMap進行迭代
- 2. 如何使用HashMap進行鍵綁定?
- 3. 如何使用treeset對hashmap中的值進行排序?
- 4. 如何使用ArrayAdapter對Android中添加的HashMap進行排序
- 5. 對HashMap進行排序迭代Java
- 6. 根據Value對Key進行排序HashMap?
- 7. Java applet問答程序 - 循環問題
- 8. 使用python進行Fibonacci疑難解答疑難解答
- 9. Android應用程序內存使用問題疑難解答
- 10. Watson Retrieve&Rank:在使用Web UI與應用程序進行詢問時的回答差異
- 11. 使用應用程序訪問令牌進行發佈
- 12. 使用HashMap並使用具有遞減鍵值的TreeMap進行排序
- 13. 使用JetCreator進行Android應用程序
- 14. 使用Struts 2訪問HashMap
- 15. 使用IOS應用程序進行應用程序內購買
- 16. 使用FutureTask進行異步程序時遇到問題
- 17. 使用httplib2進行程序化登錄的問題
- 18. 使用C#.net程序進行登錄
- 19. 使用Java 8進行線程排序
- 20. 使用程序進行短路評估
- 21. 使用子進程同時執行兩個進程的問題
- 22. 爲Rails應用程序設計高效的持續問答解答功能
- 23. 直接使用「應用程序」類進行全局可行訪問?
- 24. 如何使用對象值對HashMap <String,Object>進行排序
- 25. 如何使用andriod進行排序HashMap <String,String>距離值?
- 26. 使用泛型函數對基於ArrayList中索引的HashMap進行排序
- 27. 如何使用整數鍵對數組的HashMap進行排序Java
- 28. 使用C#進程運行可執行程序
- 29. 在Spring應用程序中在JSP中迭代HashMap的HashMap
- 30. 使用括號中的值進行HashMap初始化
通常這種問題不太適合堆棧溢出。它可以工作,但是再一次可能有一百種可怕的做法,最終都歸結爲個人意見。 – ApproachingDarknessFish
包含一個自定義類的列表有什麼問題,該類包含一個'字符串方程;'和'雙重答案;'並且隨機從該列表中檢索一個問題?寫下你的選擇,看看他們如何比較彼此。 –
不清楚如何擁有一個關鍵和價值有助於隨機挑選問題並將給定答案與預期答案進行比較。你有什麼考慮?代碼在哪裏? –