gpt4 book ai didi

java - 使用索引号一次性对多个数组进行排序?

转载 作者:行者123 更新时间:2023-12-02 03:53:43 28 4
gpt4 key购买 nike

我正在制作一个小型测验程序,它从 txt 文件中读取单行答案并将它们放入单独的数组中,其中一个是名称。

我正在尝试使用索引号一次性对多个数组进行排序。我可以对名称进行排序,但答案本身不能排序,例如:

本:

一个

C

艾丹:

B

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]);
}

最佳答案

当您的程序中的数据在逻辑上分组在一起,并且内聚单元具有语义值时,它表示 "object"在你的程序中。对象可以包含各种类型的数据,甚至包括其他对象。

对于此场景,您描述了一名学生(有姓名)以及他们对各种测验问题的回答。这里的 OOP 方法是对封装这些数据点的 Student 类进行建模,而不是尝试彼此独立地操作它们。一个有用的练习是考虑您的程序将要解决的所有问题,并考虑哪些类型的事物构成了该问题。您可以有一个 Student 类和一个 Answer 类来解决您当前的问题。您的学生有一个名字(只是纯文本)和一系列答案(您可以使用数组,尽管Java List API通常更容易使用)。如果您想跟踪问题陈述及其正确答案,您还可以有一个 Question 类。

如果您仍然需要对学生进行排序的能力(例如,根据他们在测验中的表现),您可以使用 Comparator 。找到如何使用它的示例应该不会太难。您还可以让您的 Student 类实现 Comparable界面,以便按姓名对学生进行排序。这样您就可以使用 Collections.sort 方法轻松地对学生集合进行排序。

关于java - 使用索引号一次性对多个数组进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35667328/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com