Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 깃허브
- 이클립스
- 자바
- equals
- 자바 설치
- 에디터 편리하게 사용
- 데이터베이스 오류
- 이클립스 연동
- 톰캐설치
- 웹프로젝트 생성
- korean language pack for visual studio code
- 오라클 아마존 연동 오류
- Anaconda
- visual studio code 확장팩
- vmware work station
- 파이썬
- ==
- Dymanic Web Project
- 문자열비교
- slice
- JDK설치
- comapreTo
- splice
- 이클립스 설치
- the network adapter could not establish the connection
- face_recognition
- Live Server
- 환경변수 설정
- github
- JSP파일 생성
Archives
- Today
- Total
물멍~~하는 인생
[Java] - 자바 입력 System.in.read() 본문
System.in.read()
콘솔창에서 사용자로부터 값을 입력받는 함수이다.
기본 입력값은 ASCII 값 형태이다.
예제 - 숫자를 입력받고 출력해보자
import java.io.IOException;
public class Main {
public static void main(String[] a) throws IOException {
int b = System.in.read();
System.out.println(b);
}
}
1
49
1을 입력하면 값은 1이 아니라 49가 된다.
System.in.read()로 입력받은 것은 ASCII 문자 형식으로 받기 때문이다.
내가 입력한 숫자로 받고 싶으면, '0'이나 '0'의 ASCII값인 48을 빼주면 된다.
int b = System.in.read()-'0';
System.out.println(b);
1
1예제 - 배열로 입력받자
byte[] b = new byte[3];
System.in.read(b);
System.out.println("b[0]:"+b[0]+",b[1]:"+b[1]+",b[2]"+b[2]);
123
b[0]:49,b[1]:50,b[2]51
문자하나당 배열하나에 값이 들어가는 것을 볼 수 있다.
참고로 띄어쓰기는 1byte, 줄바꿈은 2byte이다.
System.in.read()로 숫자를 입력받을 때에는 한자리에 적합하고, 두자리 이상의 숫자를 입력받을때에는 부적합하다.
1 byte당 하나의 숫자만 입력받기 때문이다.
그러니 두자리 이상의 숫자를 입력받고 싶을때에는
Scanner를 이용하는게 맞다.
'Java' 카테고리의 다른 글
[Java] - String 문자열 비교 (0) | 2020.05.21 |
---|---|
[Java] - 종합 개발툴 이클립스(eclipse) 설치 (0) | 2020.03.16 |
[Java] - 자바(Java)설치 및 환경변수 설정 (0) | 2020.03.15 |