我的Java程序有问题。你们能帮我吗。。这就是程序。简介在"MukaBuku"网站上,每个用户都有以下属性:
- 名称,用户的名称
- 帖子,发表了一些作品
- 朋友,一些现有的朋友
对于该属性,C先生希望进行如下排序:
- 根据大量现有好友对用户进行比较。如果有两个拥有相同数量好友的用户,然后继续对积分进行排序2
- 根据存在的帖子数量比较用户。如果有两个用户具有相同数量的邮件排序过程,然后进行第3点
- 最后是根据两个用户的名字在字母表中进行比较
输入格式输入由N+1行组成。在to的行中,-1表示中存在的用户数网站"MukaBuku",其中1≤N≤1000。然后在第2行到第行输出格式输出由N行组成。
示例输入:
6
Budi 13 14,
Andi 90 87,
Fawwaz 39 109,
Bayu 41 9,
Ani 77 77,
Ano 77 77,
输出:
Total Sorting : 8
Fawwaz 109 39
Andi 87 90
Ano 77 77
Ani 77 77
Budi 14 13
Bayu 9 41
除了上面的帖子所说的,让您的MukabuMember实现Comparable<MukabuMember>
接口。然后使用您解释的比较过程覆盖public int compareTo(MukabuMember m)
。
完成后,您可以调用Arrays.sort(您的列表),它将按照您的方式进行排序。
有一个类(比如MukabuMember),其中包含您提到的所有propreties作为字段。现在有一个主类,并为MukabuMember类创建N个对象。创建一个以MukabuMember类为参数的列表。使用迭代器遍历列表进行排序。您需要三个compare(以嵌套的if方式)来根据您的需求进行排序,而不是一个compare stmt。这应该足够了。
以下是您可以遵循的步骤:
- 创建一个名为MukabukuMember的类,该类具有字段name、numberOfPosts*numberOfFriends*
- 使此类实现Comparable接口。此接口有一个compareTo方法,您可以在其中编写所有比较逻辑
- Mkae确保您还覆盖MukabukuMember类中的equals和hashCode方法需要特别注意的是确保确定两个MukabukuMember类相等的逻辑在compareTo和equals中是相同的
完成上述三个步骤后,您可以将这些对象存储在List中并对其进行迭代。在每次迭代中,您可以简单地测试MukabukuMember类的两个对象,如obj1和obj2,如下所示:
- obj1.compareTo(obj2)-如果obj1>obj2,则返回10如果obj1==obj2,-1若obj1<ob
- obj1.equals(obj2)-如果obj1==obj2,则返回true