편집 기록

편집 기록
  • 프로필 심윤보님의 편집
    날짜2019.09.24

    자바 Index 1 out of bounds for length 1 오류 질문입니다.


    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).

    이 오류가 발생을 하는데 배열의 크기를 초과했다는걸 알겠는데 그러면 그 배열의 끝을 어떻게 찾아야 할지 모르겠습니다..

  • 프로필 알 수 없는 사용자님의 편집
    날짜2019.09.19

    자바 Index 1 out of bounds for length 1 오류 질문입니다.


    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).

    이 오류가 발생을 하는데 배열의 크기를 초과했다는걸 알겠는데 그러면 그 배열의 끝을 어떻게 찾아야 할지 모르겠습니다..