java如何按名称显示输出
我必须读取一个二进制文件,然后我应该按名称顺序显示输出
问题是:
编写一个从二进制文件读取数据的程序。达特。(请从网站下载二进制文件。)然后,按姓名升序显示姓名、年龄和性别(M–男性,F–女性)
二进制文件的结构如下所示:
intVariable-TotalNumberofRecord
StringVariable-Name IntVariable-Age CharVariable-Gender
…
StringVariable-Name IntVariable-Age CharVariable-Gender
这是二进制文件(person.dat)中的内容
’ wa Mohamad Ali M Siti Nuraini F Tan Mei Kuan F Mutu Samy M Alvin Tan M
============================================
这是我写的代码。问题是我不知道如何按字母顺序对输出进行排序。请帮帮我,谢谢
try {
ObjectInputStream inputStream = new ObjectInputStream (new FileInputStream("C:/Users/user/Desktop/person.dat"));
String input;
int age, record;
char gender;
record = inputStream.readInt();
System.out.println("Total number of records: "+record);
try{
while(true) {
input = inputStream.readUTF();
age = inputStream.readInt();
gender = inputStream.readChar();
System.out.println(input+" " +age +" " +gender);}
}catch(EOFException e){}
inputStream.close();
} catch (FileNotFoundException e) {
System.out.println("File was not found");
} catch (IOException e) {
System.out.println("Problem with file output.");
}
# 1 楼答案
要对数据进行排序,必须首先将数据放入一个集合(例如^{),对其进行排序,然后输出
在将数据放入集合之前,应该创建一个
class
来将数据保存在一起。它应该是一个非常简单的类,只接受构造函数中的名称、年龄和性别要对类的实例进行排序,请使类实现^{} 接口。
.compareTo
方法只能调用被比较名称的相同方法我希望这足以让你理解剩下的课堂讲稿