PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2012/06/05 13:52:39
Name 승뢰
Subject java관련 여쭈어 볼게 있습니다..;
저번에 올렸던 것에 이어지는 글입니다..흑흑 ㅠ

이번에 질문할 것은 현재 어떤 뉴스나 블로그 글을 String하나에 담았고, 제가 몇개 keyword들을 선정해서 kwds라는 Array에 저장을 한 상태입니다.

이 상태에서 몇번 인지 셀려고 row라는 Array를 만들어서 센 수를 저장하려고 합니다.
docs는 받아온 원문이고 str은 로컬변수입니다.

문제는 여기서 이걸 돌려도 에러는 없는데 분명히 키워드가 몇개 더 있는데 그냥 한번만 세고 넘어가는 문제입니다.

while문이 true이니 계속 세야 하는데 if문을 통해서 그냥 나가버리네요..ㅠㅠ 무슨문제일까요 ㅠㅠ알려주세요
int[] row = new int[kwds.length];
                for (int i = 0; i < row.length; i++) {
                        String kwd = kwds[i];
                        int count = 0;
                        String str = docs;
                        while (true) {

                                if (str.indexOf(kwd) <= 0) {
                                        break;
                                } else {
                                        str = str.substring(str.indexOf(kwd));
                                        count += 1;
                                }
                        }
                        row[i] = count;
                }

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
Siriuslee
12/06/05 14:15
수정 아이콘
if 조건이 <= 이라서.. indexof()가 0을 리턴하면 바로 break가 걸릴거 같은데요.

즉 한번 카운트 하고 str = str.substring(str.indexOf(kwd)); 에 의해서 kwd의 위치가 0이 되기 때문에 바로 break 죠.

if 조건을 < 로 바꿔보심이

그리고..
str = str.substring(str.indexOf(kwd)); 이것으로도 원하는 결과를 얻기 어려울거 같은데요.
지금 이대로 < 로 바꾸면 무한 루프일듯?


디버깅의 기본은 log 찍어보는거죠. 크크크크크크크크크크크크크크
12/06/05 14:18
수정 아이콘
이클립스를 쓰시면 디버그 모드를 쓰시구요. 그게 아니라면 str이 실제로 뭘 하고 있는지 log를 찍어보세요. 어느 흐름에서 빠지는지 log만 찍어보시면 금방해결하실수 있을거라 생각됩니다. 그리고 가능하시면 while(true)는 안쓰시는게 좋구요.
12/06/05 14:24
수정 아이콘
그리고 substring 도 잘못쓰신것 같네요. 지금 처럼 하시면 찾으려는 단어가 포함되서 substring이 일어나죠.
str.indexof(kwd) + kwd.lenght() 가 되어야 할 것 같네요.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
136620 알리 VS 레오나는 누가 유리한건가요? [18] Suiteman7873 12/06/05 7873
136619 저번에 소변떄문에 잠에서 자주 깬다고 글 쓴 사람인데요. [14] 유안2124 12/06/05 2124
136618 [야구] 일본은 왜 반발력이 낮은 공을 사용하는가? [7] The HUSE2101 12/06/05 2101
136617 이게 이런 말까지 들을법한 상황인가요? [7] 율이1833 12/06/05 1833
136616 안드로이드 폰 계정관련 질문입니다. [1] aesthetic1185 12/06/05 1185
136615 [lol] 랭겜에서 먼저 말한 사람에게 포지션 주시나요? [22] 다레니안2155 12/06/05 2155
136614 시계를 착용해보려는데요. [4] 유리자하드1932 12/06/05 1932
136613 대학교 ..진학해볼려고 합니다.. [6] 볏짚모자짱피2165 12/06/05 2165
136612 초고속 인터넷 신청에관해 질문드립니다. 알마1491 12/06/05 1491
136611 프로그래밍 로직 질문입니다.. [11] 돔돔1570 12/06/05 1570
136609 가족관계증명서에 대해 질문드립니다. [2] Cherish1335 12/06/05 1335
136608 소라카 한타기여도 질문입니다. [107] 12롯데우승3671 12/06/05 3671
136607 은평 예비군 교장 근처에 일반인이 차 댈만한 곳 있나요? 히히멘붕이다2282 12/06/05 2282
136606 네이트메신져 이상한 현상;; 난다천사1437 12/06/05 1437
136605 [디아] 저렙때 아이템 [6] 一切唯心造1662 12/06/05 1662
136603 여친과 여친친구들과의 술자리 질문드립니다. [26] 대박납시다3885 12/06/05 3885
136602 [엑셀]리소스가 부족하여 완전히 표시되지 않습니다(그림첨부) [1] 무얼6925 12/06/05 6925
136601 연애질문좀 하겠습니다. [22] 꿀사탕2139 12/06/05 2139
136600 마트에서 산 물건들을 배송해주는 곳이 있나요?? [8] 똥꼬쪼으기2167 12/06/05 2167
136599 살짝고액기부에 대해 [17] 사티레브1761 12/06/05 1761
136598 스타1, 스타2, lol 중에서 어떤 게임리그를 주로 보시나요? [22] 냥이풀2128 12/06/05 2128
136597 java관련 여쭈어 볼게 있습니다..; [5] 승뢰1557 12/06/05 1557
136596 [디아3]챔푠몹 기여도 시스템이 있나요? [6] 삭제됨1919 12/06/05 1919
목록 이전 다음
댓글

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