谁能看一下这段代码,然后告诉我是否有办法将两个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();