このコード スニペットを見て、2 つの while ステートメントを 1 つにまとめる方法があるかどうか教えてください。
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 が作成されます。
2 番目の while ステートメントは、その配列に値を設定します。
2 つの while ステートメントの使用を避けることはできますか?
注:これは割り当て用であり、配列を使用する必要があります。