PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/06/06 01:43:56
Name 녹차한잔의여
Subject 프로그래밍 방법 질문입니다...
             while((message = reader.readLine()) != null) {
                        .....
                        .....
            else {
                          contents = contents + message+'\n';
                          count++;
                          if(count==30) {
                              page.add(j,contents);
                              count = 0;
                              j++;
                              contents="";
                          }
            }
               }

서버DB에서 책의 내용을 읽어와 받는 client의 코드 중 일부입니다..(자바)

설명드리자면, 책이 서버의 DB로부터 보내져 오면

한 줄씩 읽어서(message) 이 것을 contents 변수에 계속 이어 붙입니다.

그러다가 count가 30이 되면(즉, 도서를 30줄을 읽으면)

이것을 String arraylist에 삽입하고 count,contents는 초기화를 해줍니다.

그러면 다음 줄부터 또 30줄이 만들어져서 arraylist에 계속 삽입이 되겠죠..

이렇게 생각하고 저 코드를 만들었는데.....

큰 오류가 생겼습니다...

그것은 바로........  30이되면 arraylist에 삽입하고 초기화를 하는데..

마지막에 남은 잔여페이지가 30페이지가 안되니까

마지막에 잔여 페이지를 arraylist에 삽입이 안되는 겁니다...

이거 어찌 해야할까요...?ㅠ

아무리 머리를 굴려봐도... 딱히 다른방법이 떠오르지 않네요....

총 줄수를 미리 알 수 있다면.. 계산을 해서 입력할텐데....

책이 얼마나 입력될지 모르는거니.....계산을 하기도 쉽지않네요...


( arraylist에 삽입하는건 한 화면에 띄울 페이지를 만들기 위함입니다. 이전페이지/다음페이지 버튼을 만들어
페이지간 이동을 하기위하여 arraylist에 30줄씩 잘라 넣는 방법을 생각했습니다.)


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Summerlight
10/06/06 01:58
수정 아이콘
굳이 코드의 아름다움을 추구하시는게 아니라면 저 루프 끝난 다음 contents의 내용을 확인해서 비어있지 않으면 집어넣게 하면 될 것 같네요.
arq.Gstar
10/06/06 01:59
수정 아이콘
else if 문으로 마지막줄 null 되면넣는걸로 하면 안될까요. -_-;
10/06/06 02:24
수정 아이콘
message = "", count = 0;
while ( message !=null )

if ( count++ > 30 ) count = 0;
message <= readLine
if ( count == 30 || message == null )
add;


머 이런식으로 하시면 되지 않을까요
아스트랄
10/06/06 10:12
수정 아이콘
페이징 처리는 보통 DB에 접속을 해서 해당 부분의 값만 가져오는 방식만 씁니다. 그리고 총 자료가 몇개인지 계산하는 쿼리도 함께 던집니다.
즉 보통 쿼리 실행시 start 학 end 옵션을 파라미터로 던져서 몇번째 부터 몇번째까지의 자료만 가져오는 겁니다.
보통 ajax 로 많이 하죠.

졸려서 정리가 제대로 안되는군요..-_-
이상철
10/06/06 12:11
수정 아이콘
주어진 코드를 변형해서 하자면..
마지막에 이프문으로 30 == 으로 비교하니까.. 마지막 줄이 29까지인경우는 이프문 안을 처리안하는군요..
그럼, 마지막 이프문 안에 현재 30을 저장한건지와, 30은 안되지만.. 마지막데이터인지를 알면 될것같네요..
if(count==30) {
이 부분을 일단
if(count==30 || 다음데이터가 있는지.. 찾아보는 메소드.. == 데이터가 없음 ) {

이렇게 하시면 될거같은데.. reader 라는거에.. 다음 읽어올 데어터가 있는지 알아내주는 메소드가 있으면 좋을거같은데..
한번 찾아보시고.. 없으면.. 가장 쉽게 고치는건..

위에 첫분 말씀처럼 와일문끝나고 이프문으로 contents 값 비었는지 검사해서 한번 더 처리해주시면 되는것이고요..


근데, 왠지 찾아보시면 다음데이터 있는지 없는지 알아내주는 메소드가 있을것같아요.. 확실치는 않습니다
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
83436 트위터 질문입니다. [1] 졸린쿠키1528 10/06/06 1528
83435 신체검사때 4급이 나와도 ROTC를 지원할수 있다던데 [5] Fim6163 10/06/06 6163
83434 6.2 지방선거 20대 투표율이 27%라고 하던데. [4] 타로핀2987 10/06/06 2987
83433 와우 유저분들께 질문 드립니다! [4] 이히리기우구1997 10/06/06 1997
83432 프로그래밍 방법 질문입니다... [5] 녹차한잔의여2180 10/06/06 2180
83430 윈도우 모바일 개발해보신분.. 간단한 질문하나만 할게요..ㅠㅠ..;; arq.Gstar1834 10/06/06 1834
83429 요즘 재미있는 유즈맵 뭐있나요????? [4] 임자있슈2327 10/06/06 2327
83428 와우 ost를 찾고 있습니다. [3] 뱅문벅통합빠2598 10/06/06 2598
83427 게시판에 동영상 올리는 방법 알려주세요. [1] gogo!Reach1728 10/06/06 1728
83426 부탁 하나만 드릴게요. [8] Golden Age2154 10/06/06 2154
83425 축구국대 K-리그 선수중에 지금 당장 EPL 로 가서 통할 선수는 누가 있을까요? [22] arq.Gstar2184 10/06/05 2184
83424 보통 유럽에서 15일~한달정도 여행하려면... [7] 비타에듀2037 10/06/05 2037
83423 교대 맛집 알려주세요~! [6] StepByStep1996 10/06/05 1996
83422 김택용 선수에게 무슨 일 있나요?? [5] 멀면 벙커링3050 10/06/05 3050
83421 mp3 교환가능할까요? [3] MinWoo1826 10/06/05 1826
83420 테란으로 토스전할때 원배력 더블 빌드가 어떻게 되네요. [18] 율본좌2169 10/06/05 2169
83419 키크고 마른남자은 스타일&구매 [11] 이민영2215 10/06/05 2215
83418 이 여자랑 어떻게 해야 현명할까요? [14] 비공개2938 10/06/05 2938
83417 pg tour는 어떻게 하는 건가요?? [3] 王天君1974 10/06/05 1974
83415 해외에서 아이패드 사신 분! [1] 조각난미남1942 10/06/05 1942
83414 최근 개봉하는 영화중에 추천좀요..(30분후에 갑니다;) [7] 아레스1888 10/06/05 1888
83413 GTX에 대해 궁금한 점(필요성과 재원확보 측면에서) [3] 페일1861 10/06/05 1861
83412 대전지역 파티할수있는 모텔이나 호텔 아시는분 계신가요?(급질문) summersnow2121 10/06/05 2121
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로