아스키 코드 (11654) 풀이

2023. 6. 16. 11:18BaekJoon/문자열

문제내용

사용자에게 알파벳,숫자 중 하나를 입력받아 아스키 코드로 변환하여 출력하는 문제이다.


풀이

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {

	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		
		String s = br.readLine();
		int code = s.codePointAt(0);
		
		bw.write(code+"");
		bw.flush();
		bw.close();
	}

}

사용자에게 문자 또는 숫자를 입력받기 위해 BufferedReader를 이용해 s에 입력받았다.

문자 또는 숫자를 아스키코드로 변환하기 위해 문자열에서 제공하는 codePointAt 메소드를 사용해 해당 인덱스의 문자를 아스키 코드로 변환시켜 code에 담았다.

마지막으로 출력하기 위해 BufferedWriter를 사용해 출력하고 자원을 반납했다.


겪었던 문제

BufferedWriter를 사용하면 정수를 입력하면 자동으로 아스키 코드로 인지해 문자로 변환시켜버린다. 예를 들면 65를 입력하면 A를 출력한다. 이 문제를 해결하기위해 문자열임을 명시했다. 많은 방법이 있겠지만 문자열임을 명시해 아스키코드로 변환되지 않게 해결했다.

'BaekJoon > 문자열' 카테고리의 다른 글

알파벳 찾기 (10809) 풀이  (0) 2023.06.16
숫자의 합 (11720) 풀이  (2) 2023.06.16
문자열 (9086) 풀이  (0) 2023.06.16
단어 길이 재기 (2743) 풀이  (2) 2023.06.15
문자와 문자열 (27866) 풀이  (0) 2023.06.15