본문 바로가기

자료구조+알고리즘/BOJ

[11654][java][백준] 아스키 코드

알고리즘 분류

  • 구현

 

 



 

 

 

풀이

 

▼ 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);
    }
    
}

 

728x90
반응형