谁能看一下这段代码,然后告诉我是否有办法将两个while语句合并为一个?

public static void main(String[] args) throws IOException
{
    BufferedReader fileInput;
    fileInput = new BufferedReader(new FileReader("information.txt"));
    int countOfClients = 0;
    while (fileInput.ready())
    {
        fileInput.readLine();
        countOfClients ++;
    }
    int totalClients = countOfClients ;

    Client[] clientDetails = new Client[totalClients];
    int clientNumber = 0;

    while (fileInput.ready())
    {
        String currentLineOfText = fileInput.readLine();
        String clientName = currentLineOfText.substring(0, 19);
        String gender = currentLineOfText.substring(20,21);
        char clientGender = gender.charAt(0);
        int clientAge = Integer.parseInt(currentLineOfText.substring(22,24));
        String clientInterests = currentLineOfText.substring(25);
        clientDetails[clientNumber] = new Client(clientName, clientGender, clientAge, clientInterests);
        clientNumber++;
    }


第一个while语句正在读取文本中的所有行,因此它知道对象数组中需要多少个元素。
然后创建类Client []的数组clientDetails。
第二个while语句填充该数组。
我可以避免使用两个while语句吗?

注意:这是一项作业,我必须使用数组。

最佳答案

您可以使用ArrayList代替数组,而只需使用:

list.add(new Client(...));


如果确实需要数组,则可以随时调用:

Client[] array = list.toArray();

10-04 20:57