반응형
Scanner란 사용자가 직접 입력하는 방식인데
임포트가 되었다는 가정하에 Scanner 호출 시에는
Sccaner 변수 = new Sccaner(System.in); → 최초에 스캐너로 입력 받겠다 선언
1. 변수.nextLine(); → 문자 열로 입력 받겠다.
2. 변수.next(); → 문자로 입력 받겠다.
---
보통 nexLine(문자열)을 많이 사용하지만 new next(문자)로 사용할 때 scanner 오류 발생 상황을 체크해 보자
컴파일 에러가 발생하고 있지 않는다. → 번역에는 문제가 없다.
- hi만 입력을 하고 정수를 입력하면 정상적으로 동작을 한다. 하지만, hi world를 입력하게 되면 숫자를 입력하지 않았음에도 InputMismatch 오류가 발생한다.

해결 방법
→ 공백이 있는 문자열을 입력해야 된다 = nextLine()을 쓰면 된다.
→ sc.nextLine();을 호출 중간에 넣어만 줘도 해결이 된다.
---
알아 둘 것
인덱스(Index)
코딩을 한다면 index 값에 익숙해 져야 한다.
우리는 보통 1부터 숫자를 읽지만 코딩에서는 index 값을 기본 적용 하므로 0부터 시작한다.
- charAt(0)이면 index 숫자로 첫번째 글자가 출력되고, (hi 입력 시 h 출력)
- charAt(1)이면 index 숫자로 두번째 글짜가 출력된다. ( hi 입력 시 i 출력)
index 값 예시 → “안녕하세요” 에서 3번째 값은 “세” 이다. (안 : 0 / 녕 : 1 / 하 : 2 / 세 : 3 / 요 : 4)
/\* 문자형 값 입력 받기 _/
/_ comment. 아쉽게도 문자를 직접 입력받는 기능은 없다. 따라서 문자열로 입력을 받은 후 입력받은 문자에서
\* 원하는 순번의 문자를 분리해서 사용을 해야한다. \*/
sc.nextLine();
System.out.print("아무 문자나 입력해 주세요 : ");
char ch = sc.nextLine().charAt(0);
System.out.println("입력하신 문자는 " + ch + " 입니다."); 반응형
'Language > Java' 카테고리의 다른 글
| 자바(java) 클래스 - instanceOf 연산자 (0) | 2024.09.11 |
|---|---|
| Switch문을 이용한 자판기 코드 전 / 후(break;) (0) | 2024.09.03 |
| 리턴(return) 기본 정보 및 메서드 추가 정리 (4) | 2024.09.02 |
| 메서드 기본( with static) (0) | 2024.09.02 |
| 연산자 (대입연산자 / 증감연산자 / 비교연산자) (0) | 2024.08.27 |