java – 家庭作业帮助.我必须“写”一种我不能使用API排序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 家庭作业帮助.我必须“写”一种我不能使用API排序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3485字,纯文字阅读大概需要5分钟。
内容图文
![java – 家庭作业帮助.我必须“写”一种我不能使用API排序](/upload/InfoBanner/zyjiaocheng/720/f0ee4149501344f5a58a3399c61a9990.jpg)
我必须编写一个从命令行获取其参数的程序.有3个班级.主应用程序类,定义名人堂的每个成员的类,然后是名人堂的类,创建一系列名人堂成员. HallOFFameMember类的属性是firstName,lastName,yearInducted和sport.我必须在HallOfFame类中编写一个排序方法,按年度排序.我试图用类似的实用程序来解决它,但我认为这不会起作用.
这是分配的一部分,写了排序,所以我不能使用Array.sort()或类似的东西.
“还在HallOfFame类中定义一个名为sortMembers的方法,该方法返回一个HallOfFameMember对象数组,其中包含成员数组中的对象,按归纳年份排序.注意:在sortMembers方法中完成的排序不应使用排序来自API的方法.你要编写自己的排序例程(冒泡排序,例如,可以接受).“
我不确定如何编写数组中对象属性的排序.任何帮助指导我到哪里可以弄清楚如何做到这一点将不胜感激.我发现的一切都指向使用我无法使用的Array.sort和compareTo方法.
**编辑**问题是有人可以指出我可以阅读的地方或找到如何编写我自己的排序以按对象数组中的属性排序的示例吗?我看看使用可比较的建议,因为这是我最初倾向于,只是不能让它工作.
public class HW3 {
public static void main(String[] args) throws Exception {
if (args.length % 4 != 0) {
throw new Exception(
"First Name, Last Name, Year Inducted, Sport not entered correctly");
}
HallOfFame hallOfFameList = new HallOfFame();
hallOfFameList.setNumberOfMembers(args.length / 4);
HallOfFameMember[] tempMembers = new HallOfFameMember[args.length / 4];
for (int i = 0; i < args.length; i += 4) {
tempMembers[i/4].setFirstName(args[i]);
tempMembers[i/4].setLastName(args[i+1]);
tempMembers[i/4].setYearInducted(Integer.parseInt(args[i+2]));
tempMembers[i/4].setSport(args[i+3]);
}
hallOfFameList.setMembers(tempMembers);
HallOfFameMember[] sortedMembers = null;
hallOfFameList.sortMembers(sortedMembers);
HallOfFame.printReport(sortedMembers);
}
}
public class HallOfFameMember {
private String firstName;
private String lastName;
private String sport;
private int yearInducted;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getSport() {
return sport;
}
public void setSport(String sport) {
this.sport = sport;
}
public int getYearInducted() {
return yearInducted;
}
public void setYearInducted(int yearInducted) {
this.yearInducted = yearInducted;
}
}
public class HallOfFame {
private HallOfFameMember[] members;
private int numberOfMembers;
public HallOfFameMember[] getMembers() {
return members;
}
public void setMembers(HallOfFameMember[] members) {
this.members = members;
}
public int getNumberOfMembers() {
return numberOfMembers;
}
public void setNumberOfMembers(int numberOfMembers) {
this.numberOfMembers = numberOfMembers;
}
public void sortMembers(HallOfFameMember[] sortedMembers){
}
public static void printReport(HallOfFameMember[] print){
System.out.println("Java Sports Hall of Fame Inductees\n\n");
System.out.printf("%-30s\t%-30s\t%-30s\n","Name","Year Inducted","Sport");
for(int i = 0; i < print.length; i++)
System.out.printf("%-30s\t%-30s\t%-30s\n", print[i].getLastName()+","+print[i].getFirstName(), print[i].getYearInducted(), print[i].getSport());
}
}
解决方法:
放大我评论中的陈述:
由于这是家庭作业,我们大多数人会限制我们的建议,但我们可以帮助您解释作业.我在说明中看不到任何阻止您使用比较器的内容< HallOfFameMember>或实施Comparable< HallOfFameMember>,实际上我会做其中一个.
但是你必须编写自己的排序方法,我会这样做并让它使用Comparator帮助程序类或Comparable接口来帮助进行排序.我会去维基百科,阅读排序算法并选择最简单的,也许是冒泡排序,因为你没有按照这个任务的速度评分,只是完成它并完成它.
内容总结
以上是互联网集市为您收集整理的java – 家庭作业帮助.我必须“写”一种我不能使用API排序全部内容,希望文章能够帮你解决java – 家庭作业帮助.我必须“写”一种我不能使用API排序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。