자바 Index 1 out of bounds for length 1 오류 질문입니다.
조회수 28102회
12345678 1 lee1 010-1231-5678 // 11345678 2 lee2 010-1232-5678 ...... 이런문자가 있는 파일을 읽어드려서 객체로 구분한후 그 객체를 파일로 저장하는 예제입니다.
근데 여기서 num , grade , name 과 tel_number 를 구분을 해서 객체로 저장을 해야하는데
for(int i = 1; (line = br.readLine()) != null; i++) {
System.out.println(line);
//String str = null;
String[] a = line.split("\n");
for(int x =0; a[x] != null ; x++)//오류 발생 부분 {
String[] b = a[x].split(" ");
su.num = b[0];
su.grade = Integer.parseInt(b[1]);
su.name = b[2];
su.tel_number = b[3];
}
실행을 하니 오류 발생 부분에서
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 at myPack.p1.Student.main(Student.java:33).
이 오류가 발생을 하는데 배열의 크기를 초과했다는걸 알겠는데 그러면 그 배열의 끝을 어떻게 찾아야 할지 모르겠습니다..
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
//여기에 코드를 입력하세요 for(int x =0; x<a.length ; x++) { ... }
http://mwultong.blogspot.com/2006/11/java-array-size-sizeof.html 참조 하시기 바랍니다.
-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
String[] a = line.split("\n"); for (String oenRaw : a) { // oenRaw 를 배열의 0 번째부터 차례대로 얻을 수 있습니다. }
이런식으로 for each loop 를 사용할 수도 있습니다
댓글 입력