我正在制作一个小型测验程序,该程序从txt文件中读取单行答案,并将其放入单独的数组中,其中之一就是名称。
我试图通过使用它们的索引号一次对多个数组进行排序。我可以对名称进行排序,但是答案本身无法排序,例如:
Ben:
一种
C
艾丹:
乙
F
而且我将能够更改其姓名的顺序,但无法弄清楚如何将他们的答案带给他们。有什么建议吗?
这是我到目前为止的代码:
String[] names = new String[4];
String[] answersA = new String[7];
String[] answersB = new String[7];
String[] answersC = new String[7];
String[] answersD = new String[7];
String[] answersE = new String[7];
String[] answersF = new String[7];
try {
Arrays.sort(names);
} catch (NullPointerException e) {
System.out.println("meh");
}
for (int i = 0; i < names.length; i++) {
System.out.println(names[i]);
System.out.println(answersA[i]);
System.out.println(answersB[i]);
System.out.println(answersC[i]);
System.out.println(answersD[i]);
System.out.println(answersE[i]);
System.out.println(answersF[i]);
}
当您的数据在程序中按逻辑分组时,并且内聚单元具有语义值时,该数据表示程序中的“对象”。对象可以包含各种类型的数据,甚至包括其他对象。
对于这种情况,您已经描述了一个学生(带有姓名)及其对各种测验问题的回答。这里的OOP方法是为封装这些数据点的Student类建模,而不是尝试彼此独立地操作它们。一个有用的练习是考虑程序将要解决的所有问题,并考虑构成该问题的事物类型。您可能有一个Student
课程,以及一个Answer
用于解决当前问题的课程。您的学生有一个名字(纯文本)和一系列答案(可以使用数组,尽管Java List API通常更易于使用)。Question
如果您想跟踪问题陈述及其正确答案,也可以开设一堂课。
例如,如果仍然需要根据学生在测验中的表现对学生进行排序的能力,则可以使用Comparator
。找到如何使用它的例子应该不难。您也可以让您的Student
班级实现该Comparable
接口,以便按名称对学生进行排序。这样一来,您就可以Collections.sort
轻松地使用该方法对学生资料集进行排序。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句