:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
16/12/10 13:34
자바는 잘 모르지만서두..
저건 컴파일한 어플리케이션이 종료되었을 때 저리 뜰 텐데... while 문 조건문이 잘못된 게 아닐까요? 라인에 아무것도 없을 때 루프 돌면서 프린트하라는 것으로 읽히는데요
16/12/10 13:35
terminated 가 뜨는건 위 코드를 실행하고 끝낸겁니다.
근데 콘솔에 아무것도 안나온거면 while 조건이 안 맞아서 안에 있는 println 을 아예 실행 못한거고요 조건문이 line 을 읽어오고 그 내용이 "" 와 동일하면 수행하라고 했으니 input.txt 안에 뭔가 내용이 있으면 조건에 안 맞겠죠.. 아마 의도한건 line 과 ""과 같지 않을때일거 같네요..
16/12/10 13:58
1) String line을 선언 한 이후 buffer에서 값을 읽어와 한번에 값을 초기화 하여 사용하세요. while문 안의 조건을 간단히 하시구요.
2) line.equals("")을 "".equals(line)으로 변경하세요. 아마 자바에서 추천해줄껀데... 비교하려는 대상이 null인 경우 오류가 발생할꺼에요. 그리고 null과 ""이 같지 않음을 유의하시구요. 3) 본문의 조건을 봤을 때...while문이 돌아가는 조건이 버퍼에 어떤 값이 있는데, 이 값이 아무것도 없는경우 while이 돌아가는 구조네요. 만약 input.txt의 내용이 없다면, 콘솔창에 Line read : 하고 찍히겠군요. 하지만, 콘솔에 아무 메시지가 없는것으로 봐서는 while문이 돌지 않았고, txt파일에 어떤 글귀가 있었던 것으로 추측됩니다. 따라서, 조건문의 내용에 내용이 있으면 찍도록 변경해주셔야 할것 같네요. 4) 이건 잘 모르겠는데...line은 String이고 buffer는 BefferReader인데 둘이 비교가 되는지는 잘 모르겠군요.
16/12/10 14:04
답변해주신 분들 덕분에 문제 잘 해결했습니다!!
매번 피쟐에서 도움만 받는 것 같네요 ㅠㅠ 시간 내서 친절하고 상세히 답변해주신 분들 정말정말 감사드립니다 ㅠㅠ 다들 좋은 주말 보내시길 바랄게요!!
|