有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    要对数据进行排序,必须首先将数据放入一个集合(例如^{),对其进行排序,然后输出

    在将数据放入集合之前,应该创建一个class来将数据保存在一起。它应该是一个非常简单的类,只接受构造函数中的名称、年龄和性别

    要对类的实例进行排序,请使类实现^{}接口。.compareTo方法只能调用被比较名称的相同方法

    我希望这足以让你理解剩下的课堂讲稿