자바 문자열 구분하고 배열에 저장을 했는데 뜨는 오류 좀 도와주세요..
텍스트파일을 불러와서 stringTokenizer로 문자열 구분을 하였구요,
book클래스의 arraylist를 생성해서 구분한 문자열들을 저장했습니다
근데 값이 이상하게 나와서요ㅜㅜ
왜이런거죠?
public class Manager{
public static void main(String[] args) {
File datafile = new File("D:/Booklist(1).txt");
String readData;
StringTokenizer st;
ArrayList arr[] = new ArrayList[50436];
int i=0;
try {
BufferedReader br = new BufferedReader(new FileReader(datafile));
while((readData = br.readLine())!=null) {
st = new StringTokenizer(readData,"/");
String number = st.nextToken();
String rNum = st.nextToken();
String name = st.nextToken();
String author = st.nextToken();
String pHouse = st.nextToken();
String pYear = st.nextToken();
String bKind = st.nextToken();
int x = Integer.parseInt(number);
int y = Integer.parseInt(pYear);
while(st.hasMoreTokens()) {
arr[i] = new ArrayList();
arr[i].add(new Book(number,rNum,name,author,pHouse,pYear,bKind));
i++;
}
System.out.println(arr);
}
----------------------------------------------------------------------------------
오류부분
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
[Ljava.util.ArrayList;@7852e922
정상적인 출력은
50428/DM107801/정여립의 생애와 사상 :미증유의 사상 혁명가/배동수/나무미디어/2017/일반도서
50429/DM107802/제주 탐닉 :조금 더 깊은 가이드북/문신기/디스커버리미디어/2017/일반도서
50430/DM107803/조선을 새롭게 하라 :권경률의 역사다큐/권경률/앨피/2017/일반도서
50431/DM107804/"지금, 괌"/오상용/플래닝북스/2017/일반도서
50432/DM107805/(바다의 선물!) 크루즈여행 길라잡이/김종생/나눔사/2017/일반도서
50433/DM107806/통치와 광기 :세계사를 바꾼 정복자와 독재자들/류광철/말글빛냄/2017/일반도서
50434/DM107807/(프렌즈) 독일 :Season3 '17~18'/유상현/중앙Books/2017/일반도서
50435/DM107808/(프렌즈) 홍콩·마카오 =Hongkong Macau/전명윤/중앙Books/2017/일반도서
50436/DM107809/하루 3분 세계사 :매일 한 단어로 대화의 품격을 높이는 방법/김동섭/시공사/2017/일반도서
첨부 | 파일 크기 |
---|---|
dfdfdfd.PNG | 37.77 KB |
<code lang="cpp"> ~ </code> 를
<code lang="cpp"> ~ </code> 를 이용해서 코드를 감싸 주세요.
보기 힘듭니다. 보기 힘든 코드는 답변도 받기 힘듭니다.
code tag 를 사용하면 이렇게 보입니다:
문제가 여럿 있는데...
문제가 여럿 있는데...
일단 arr 이 ArrayList 의 배열이고 그걸 print 하려 하니까 저렇게 나온 거고,
원하는 출력을 내려면 Book 객체를 출력해야죠.
그리고 입력파일이 어떻게 생겼는지 질문글에 포함되어 있지 않아서 확실치는 않지만 아마 희망 출력 결과랑 똑같이 생겼을 것 같은데, 저 while 루프 안으로 정말로 진입할 수 있는지도 의문이고요.
그 다음, 최종적으로 Book 데이터들이 어떤 형태로 저장되어 있기를 원하시는지요? 아마도 하나의 리스트에 줄줄이 담겨 있길 원할 것 같은데, 지금 만든 건 하나의 리스트가 아니라 리스트의 배열이네요.
좋은 하루 되세요!
댓글 달기