我列出了他们的性别名称以及有多少人拥有此名称。 我的程序根据有多少人具有相同的名称,按降序打印出名称。我正在尝试创建的Top函数。假设采用该程序并在名称列表中打印前5个make。
**名单**
Isabella F 22822
Jacob M 22011
Sophia F 20566
Ethan M 17956
Emma F 17277
Michael M 17244
Jayden M 17101
William M 16979
Olivia F 16959
Alexander M 16701
**我想要的是什么**
Jacob M 22011
Ethan M 17956
Michael M 17244
Jayden M 17101
William M 16979
**得到排序已经确定只需要打印前5个男性***
Top = top(5, M);
Collections.sort(oneName, new OneNameCountCompare());
for(OneName b: oneName) {
System.out.println(Top.b.toString());
}
}
String top(int many, char sex) {
String order = "";
for (sex = sex ; int i < many; i++) {
order = i;
}
return order;
}
答案 0 :(得分:0)
当您调用
时Top = top(5, M);
您的代码与您想要的内容没有任何关系。您正在传递M
而不是'M'
作为字符。除非你在某处将M
定义为char,否则你的代码将无法编译(尽管你的IDE会告诉你)。
之后,您将创建一个名为order
的字符串。很公平。但是你的循环毫无意义。 sex = sex
完全没有效果(您正在将sex
的内容复制到sex
)。然后我相信您正试图循环i
many
次。我会在这里为您提供代码,因为我相信这可能有所帮助:
for(int i=1; i<=many; i++){...}
接下来你要做的是将Integer复制到String中。我想你应该回到基础并阅读java基础教程。 Here是链接,以防您不确定要查找的内容。剧透:它会像:
String.valueOf(i);
最后你返回order
。在您阅读上面的教程后,我会让您知道这是什么。