알고리즘 분류
- 구현
풀이
▼ Scanner() Method
- next() : String, 다음 토큰을 문자열로 리턴
- nextLine() :String, '\n'을 포함하는 한 line을 읽고 '\n'을 버린 나머지만 리턴
- nextInt() : int, 다음 토큰을 int 타입으로 리턴
- close() : void, Scanner 의 사용 종료
- hasNext() : boolean, 현재 입력된 토큰이 있으면 true, 아니면 새로운 입력이 들어올 때까지 무한정 기다리면서 새로운 입력이 들어오면 그때 true 리턴, ctrl+z 키가 입력되면 입력 끝으로 false 리턴
* next() 와 nextLine() 의 경우 둘 다 문자열을 받을 수 있는 메소드이지만 nextLine() 이 개행문자를 포함하여 받아오기 때문에 각별한 주의가 필요하다!
그러나 space와 같은 공백문자를 포함하여 입력 값을 받고 싶은 경우 nextLine()을 활용하는 것이 좋다.
① String으로 입력 받아 charAt으로 문자열을 문자로 변환한다
int 타입 변수에 저장함으로써 문자에 대응되는 값, 즉 아스키 코드값을 저장한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int in = sc.next().charAt(0);
System.out.println(in);
}
}
② Scanner 를 쓰지말고, 가장 기초 입력방법인 System.in을 쓰는 방법
=> byte 값으로 문자 한 개만 읽으면서 해당 문자에 대응되는 아스키코드 값을 저장할 수 있다.
※ 주의 반드시 예외처리를 해줘야 한다.
IOException (java.io 패키지를 import 해야함) 로 메인 옆에 써줘도 되고, 그냥 Exception으로 처리해도 된다.
import java.io.IOException;
public class solution {
public static void main(String[] args) throws IOException {
int in = System.in.read();
System.out.println(in);
}
}
'자료구조+알고리즘 > BOJ' 카테고리의 다른 글
[2562][백준_브론즈3] 최댓값 - JavaScript (0) | 2023.11.07 |
---|---|
[11720][java][백준] 숫자의 합 (0) | 2022.02.09 |
[2884][java][백준] 알람 시계 (0) | 2022.02.08 |
[10798][java][백준] 세로 읽기 (0) | 2021.11.04 |
[11721][java][백준] 열 개씩 끊어 출력하기 (0) | 2021.11.04 |