我想从具有20行的文本文件中读取数据,并且应该将它们存储到数组中,并为它们分配变量,名字姓和成绩。因为我对他们输出作为姓氏,名字和年级,我决定使用令牌但不知何故,我得到这个错误:java.lang.ArrayIndexOutOfBoundsException:1个JAVA-将字符串拆分为令牌,但失败,出现错误
public static void main(String[] args) throws IOException {
int numberOfLines = 20;
studentClass[] studentObject = new studentClass[numberOfLines];
readStudentData(studentObject);
}
public static void readStudentData(studentClass[] studentObject)throws {
//create FileReader and BufferedReader to read and store data
FileReader fr = new FileReader("/Volumes/PERS/Data.txt");
BufferedReader br = new BufferedReader (fr);
String line = null;
int i = 0;
//create array to store data for firstname, lastname, and score
while ((line = br.readLine()) != null){
String[] stuArray = line.split(" ");
String stuFName = stuArray[0];
String stuLName = stuArray[1];
int score = Integer.parseInt(stuArray[2]);
studentObject[i] = new studentClass (stuFName, stuLName, score);
i++;
}
br.close();
for(i = 0; i<studentObject.length; i++){
System.out.print(studentObject[i].getStudentFName());
}
}
,我得到的是专门这一行的错误:
String stuLName = stuArray[1];
这里是文本文件:
Duckey Donald 85
Goof Goofy 89
Brave Balto 93
Snow Smitn 93
Alice Wonderful 89
Samina Akthar 85
Simba Green 95
Donald Egger 90
Brown Deer 86
Johny Jackson 95
Greg Gupta 75
Samuel Happy 80
Danny Arora 80
Sleepy June 70
Amy Cheng 83
Shelly Malik 95
Chelsea Tomek 95
Angela Clodfelter 95
Allison Nields 95
Lance Norman 88
显示您的文本文件。如果它在这条线上失败,这意味着对于一个特定的行,没有多于一个元素(有空格),我的意思是'这里是三个','justone'这秒会失败,因为数组只包含一个元素,并且会给你阵列索引错误 –
如果你可以共享'Data.txt'文件来获得数据如何存储在那里,这可能是有帮助的。 –
@JorgeCampos在这里你去家伙 –