본문 바로가기

Programming/JAVA

JAVA #02 JAVA 입력 (read, readLine) , 자료형변환(parseInt, valueOf, charAt)

int number = Integer.parseInt(a1);

JAVA에서 입력을 받는 방법은 다음과 같다.

System.in.read()

위의 메소드를 통해 일반적으로 파이썬에서의 input()과 같은 기능을 하게 되는데,
string과 같이 한 줄을 입력받는 경우에는 다음과 같다.

먼저 입력을 받는 클래스인 InputStreamReader(System.in)을 객체로 생성한 뒤,
해당 객체에서 각 입력을 버퍼에 저장하여 string에 저장할 수 있는 BufferedReader 클래스의 객체를 생성하고,
BufferedReader의 method인 readLine()을 이용한다.
코드로는 다음과 같다.

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class ReadLine {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		try {
			InputStreamReader ir = new InputStreamReader(System.in);
			BufferedReader br = new BufferedReader(ir);
			
			String a1 = br.readLine();
			System.out.printf("a1: %s",a1);
		}catch(Exception e) {}
	}

}

위의 readLine메소드를 통해 저장되는 변수는 항상 string이어야 하는데,
만약 이를 다시 숫자형으로 변환하고 싶다면 Integer.parseInt()를 사용한다.

int num = Integer.parseInt(a1);

혹시 integer나 char을 string으로 변환해야 할 경우에는 다음과 같다.

String str = String.valueOf(num);

string을 char로 변환해야 할 경우에는 다음과 같다.

char ch1 = str.charAt(0); // str의 길이가 1인 경우,
char[] ch2 = str.toCharArray(); // str의 길이가 2이상인 경우,

2번 줄의 char array를 출력하여 확인하고자 하면 다음과 같이 변환하여 출력한다.
Arrays.toString(a1.toCharArray())