소스첨부// 왜 중복문자가 출력되는걸까요?
글쓴이: sork1004 / 작성시간: 금, 2009/11/13 - 4:57오후
while(true) { System.out.println("[1. 데이터전송] [2. 게시물 확인] [3. 전체보기] [4. 종료]"); int x = Integer.parseInt(in.readLine()); if(x == 1) { fileon ap = new fileon(); ap.im(); //System.in.read(); }
공부하던중에 코딩해보고 있었는데, 대충 위와 같은 코드가 입니다.
근데 int x = Integer.parseInt(in.readLine());부분에 최초 In.read() -48로써 처리했었는데
while이 돌면서
System.out.println("[1. 데이터전송] [2. 게시물 확인] [3. 전체보기] [4. 종료]");
가 2번씩 출력되더군요.
그 이유가 무엇인가요?
결과값은 아래와 같습니다.
// in.read() -48
게시물 내용을 입력하시면 서버로 전송됩니다. 내용 : 아래 파일 전송합니다. [1. 데이터전송] [2. 게시물 확인] [3. 전체보기] [4. 종료] [1. 데이터전송] [2. 게시물 확인] [3. 전체보기] [4. 종료]
//parseInt(in.readLine());의 경우
게시물 내용을 입력하시면 서버로 전송됩니다. 내용 : 아래 파일 전송합니다. [1. 데이터전송] [2. 게시물 확인] [3. 전체보기] [4. 종료] 정상적으로 출력되었습니다.
물론 오류는 해결했지만 근본적으로 왜 그런것이란가라는 의구심이 들어 이렇게 질문합니다.
답변부탁드리겠습니다.
Forums:
read와 readline 차이
read와 readline의 차이는 line이 있고 없고이죠
read함수로 구현을 해서 3 입력후 엔터라고 눌러 버리면 어떻게 될까요?
3때문에 한번 while문 실행되고
엔터 때문에 한번더 while문 실행됩니다
댓글 달기