2008년 7월 4일 금요일

Integer.parseInt(in.readLine()); ,System.in.read() -48; 차이점

int a = Integer.parseInt(in.readLine());

int a = System.in.read() -48;

입력 값이 한자리 1 ,2 ,9 일때는 parseInt나 -48은 결과가 같고요.
두자리 20 ,77,83 경우는 parseInt를 사용 해야합니다.
-48는 문자값을 숫자로 만들기 위해 사용했는데 숫자를 표시하는 문자의 경우 해당 문자의 ASCII 코드값에서 '0'의 아스키 코드값(48)을 빼면 해당 문자에 해당하는 정수가 나와요. 그런데 1자리만 계산하기 때문에 1자리숫자일때문 사용가능합니다.

49-48 = 1
'1'-'0' = 1

댓글 1개:

Unknown :

도움이 되었습니다. 감사합니다. ^^b

댓글 쓰기

-


Sidewinder


World


FishMusic


LaughingBaby