
그저 입력받은 글자의 아스키코드 값을 출력하는 간단한 문제이다.
System.out.println((int) c);
문자 c를 입력 받았을때의 출력법이다.
다른 건 없다.
다만 글 작성자는 코드를 짜는 중 치명적인 실수를 저질렀다.
Integer.parseInt(c);
문자를 숫자로 변환하는데 이러한 메소드를 사용했다는 점이다.
이건 문자를 아스키 코드로 변환하는 역할이 아니라
String형 문자를 int형으로 바꿔주는 역할이다.
즉 "123"을 123으로 바꿔주는 함수일 뿐이라는 것이다.
해당 실수를 고친 최종적인 코드는 아래와 같다.
import java.io.*;
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));
char c = br.nextInt().charAt(0); // 입력값 중 첫번째 값만 고려
bw.write(String.valueOf((int) c)); // buffer write의 출력단위는 String
bw.flush();
br.close();
bw.close();
맞았습니다!!