java - 需要帮助创建适用于 Android 的测验应用程序 w。 HashMap 和无数据库

标签 java android hashmap

我的任务是为 Android 创建一个简单的测验应用程序。我不是寻找此代码。我只是在寻找可能列出如何开始使用此代码的人(伪代码)。

程序应该显示一个术语四个定义;其中之一是正确的。一旦用户选择了他们认为是哪一个,程序就会使用toast消息告诉用户它是否正确。

规范:

  • 这些术语需要随机选择,并且每次运行仅显示一次。但是,该定义需要保留在其他问题的定义池中。

  • 随机选择的定义(正确的除外)

  • 如果用完要显示的术语,程序就会结束

  • 需要使用 ArrayList 来保存项目集合,并使用 HashMap 来保存名称/值对。

  • 必须使用 Android 的日志机制来记录错误消息(通过 try/catch 语句)。

如果您可以帮助我引导我朝正确的方向前进,那就太好了:)谢谢!

最佳答案

我会(就像在面向对象语言中一样)首先将您的问题映射到真实的对象。在你的情况下,有两个:

  1. 一个 Question 类,包含四个答案、问题并提供一种方法来检查给定答案是否正确。
  2. 一个 Answer 类,包含单个答案以及它是否正确。

至于你的存储问题,我根本不会使用HashMap。将 Question 实例存储在 ArrayList 中并使用 Random.nextInt() -从列表中获取随机问题的方法。

在您的 Question 类中,您可以将所有可能的答案存储在另一个 ArrayList 中。要随机化答案的呈现顺序,您可以使用 Collections.shuffle() -方法。

对于演示部分,让您的 Question 类返回问题(字符串)和四个答案(字符串)并将其放入您的小部件中。要识别给出的答案,您可以使用 Answer-实例(使用数组索引更容易,但更容易出错)。

要检查是否给出了正确答案,请查询您的 Question-classes isCorrect(Answer)-方法并检查给定实例是否在内部 ArrayList 中 被标记为正确的。

关于java - 需要帮助创建适用于 Android 的测验应用程序 w。 HashMap 和无数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13222631/

相关文章:

android - Android Traceview 上的关于(上下文切换)

Java:HashMap 内联初始化的性能影响

java - 合并包含集合的映射会抛出 UnsupportedOperationException

JavaFX:如何为组合框设置操作?

java - 添加 FirebaseAuth.getInstance 后应用崩溃

java - Caused by : java. lang.ClassCastException : java. sql.Timestamp无法转换为java.sql.Date

android - 如何在gradle中添加项目级别的依赖项

java - 内部类中的非最终变量

java - volatile HashMap 不在 Thead 之外更新

java - JasperReports 创建 JasperReportBuilder 的公共(public)报表