private Address[] read() throws Exception{
Address[] addressArray = new Address[getLineCounts()];
Scanner scanner = new Scanner(new File("address.txt"));
int i=0;
while(scanner.hasNext()){
String[] array = scanner.nextLine().split(",");//line =1,111,111,111,111,111
addressArray[i++] = new Address(Integer.parseInt(array[0]),array[1],
array[2],array[3],array[4]);
}
return addressArray;
}
变红的那行出错了,我都快愁死了。。不知道为啥出错,说是找不到符号。
Address[] addressArray = new Address[getLineCounts()];
Scanner scanner = new Scanner(new File("address.txt"));
int i=0;
while(scanner.hasNext()){
String[] array = scanner.nextLine().split(",");//line =1,111,111,111,111,111
addressArray[i++] = new Address(Integer.parseInt(array[0]),array[1],
array[2],array[3],array[4]);
}
return addressArray;
}
变红的那行出错了,我都快愁死了。。不知道为啥出错,说是找不到符号。
public void read() throws Exception {
Address[] addressArray = new Address[1];
Scanner scanner = new Scanner(new File("c:/address.txt"));
int i = 0;
while (scanner.hasNext()) {
String[] array = scanner.nextLine().split(",");// line
// =1,111,111,111,111,111
addressArray[i++] = new Address(Integer.parseInt(array[0]),
array[1], array[2], array[3], array[4]);
}
System.out.println(addressArray.length);
} class Address {
String address; Address(int i, String str1, String str2, String str3, String str4) { }
}
int i=0;
while(scanner.hasNext()){
String[] array = scanner.nextLine().split(",");//line =1,111,111,111,111,111
addressArray[i++] = new Address(Integer.parseInt(array[0]),array[1],
array[2],array[3],array[4]);
}第一次遍历的时候是addressArray[1],addressArray[0]没有初始化
这样导致最后一次遍历时,会导致数组越界,建议改成
int i=0;
while(scanner.hasNext()){
String[] array = scanner.nextLine().split(",");//line =1,111,111,111,111,111
addressArray[i] = new Address(Integer.parseInt(array[0]),array[1],
array[2],array[3],array[4]);
i++;
}