java - 有没有一种方法可以在 Java 的一个数组元素中包含多行文本?

标签 java arrays eclipse

为学校项目创建一个测验,如果有一种方法可以在数组的一个元素中包含一个问题和 4 个可能的答案,并且问题和 4 个可能的答案都在上,那么代码就会容易得多他们自己的线路。

最佳答案

如果您创建 String[] (String 对象的数组)那么该数组中的每个元素都可以包含任何有效的 Java String ,其中包含一个包含换行符 \n 的字符串人物。因此,您可以将每个数组元素设置为多行字符串,每行由 \n 分隔。字符,以便在第一个 \n 之前找到该问题,正确答案在第二个\n之前找到,并且在后续“行”中找到不正确的答案。

但是,我想说这实际上使代码更加神秘,因此难以理解。更好的面向对象方法是创建一个新类来表示测验问题及其答案。这个类的大纲可能看起来像这样:

class QuizQuestion {
    String questionText;
    String correctAnswer;
    List<String> incorrectAnswers;
}

您可以完全像这样保留此类,并简单地引用其类字段(来自同一代码包),从而创建一个新的对象类型,它将问题文本和答案很好地捆绑在一起。或者,如果需要,您可以向此类添加方法,以控制/保护类字段数据的访问/修改方式。

现在不用使用原来的 String[]你可以使用List<QuizQuestion>QuizQuestion[] 。这应该会使代码更容易阅读,并且将来更容易增强。

关于java - 有没有一种方法可以在 Java 的一个数组元素中包含多行文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41433605/

相关文章:

java - 我无法让 Replace/replaceAll 工作

java - 反序列化对象 java 列表 -> INVALID STREAM HEADER

javascript - 检查对象属性值是否为 false

c++ - C/C++ 如何在没有嵌套循环的情况下复制多维字符数组?

java - Eclipse IDE 版本 2019-09 R (4.13.0) 无法识别 Maven 依赖项

java - ArrayList.java 中 List 接口(interface)的冗余实现

java - 使用 Spring Security 的 session 属性

c - 这段代码如何编译成功?

eclipse - 在注册表中找不到应用程序 "org.eclipse.e4.ui.workbench.swt.E4Application"

java - 打开 Eclipse 时缺少 M2_REPO 类路径变量