[JAVA] 문자열 입력과 출력 (Scanner)
문자열 입력과 출력 (Scanner)
처음 프로그래밍 언어를 공부할 때, C 언어를 많이 공부할 것이다.
그때 가장 먼저 배우는 것이 printf() 이고, 문자열을 입력받는 scanf() 이다.
알고리즘을 공부할때도 printf() 와 scanf() 를 많이 사용한다.
그럼 자바에서는 C 언어의 printf() 와 scanf()는 무엇일까?
문자열을 출력하는 명령은 System.out.println(); 을 사용하고, 문자열을 키보드로 입력받을 때는 System.in 을 사용한다.
하지만 입력받은 문자열을 읽고 처리하기 위해서 Scanner 클래스에 담아서 처리한다.
Scanner 클래스는 표준 Java 클래스 라이브러리에 속하며, 다양한 타입의 입력 값들을 읽어들이기 위한 편리한 방법을 제공한다.
Scanner 클래스에 대해서는 나중에 자세히 포스팅 하기로 하고, 이번 포스팅은 간단한 문자 입력과 출력을 보이겠다.
import java.util.Scanner;
public class scanner {
public static void main(String[] args) {
String message;
Scanner scan = new Scanner(System.in); // 문자 입력을 인자로 Scanner 생성
System.out.println("메시지를 입력하세요:");
message = scan.nextLine(); // 키보드 문자 입력
System.out.println("입력 메시지: \""+ message + "\"");
// 입력 문자 출력
int kilometer;
double liter, mpg;
System.out.println("거리(km) 값 정수를 입력하세요 : ");
kilometer = scan.nextInt(); // 키보드 숫자 정수 입력
System.out.println("리터 값 를 입력하세요 : ");
liter = scan.nextDouble(); // 키보드 숫자 Double형 입력
mpg = kilometer / liter; // 입력받은 kilometer와 liter 계산
System.out.println("Kilometer per liter : " + mpg);
}
}
키보드로 문자열을 입력하는 System.in 를 받아서 처리해주는 Scanner 클래스를 생성한다.
Scanner scan = new Scanner (System.in);
Scanner는 System.in 외에 다양한 인자를 읽어들여 파싱 및 처리를 해준다.
message = scan.nextLine();
scanner의 nextLine() 메소드는 Scan한 소스의 다음 문자열 라인을 읽어 온다.
다음 문자열 라인을 System.in 을 통해 읽어와 message 변수에 입력한다.
"연비를 계산합니다." 를 입력 후 엔터를 입력하면, System.out.println에 의해 message 값이 출력된다.
kilometer = scan.nextInt();
nextInt() 는 정수값을 받아온다.
liter = scan.nextDouble();
nextDouble() 은 Double 형을 가져온다.
계산 후 출력하고 종료
출처: https://hyeonstorage.tistory.com/136?category=557602 [개발이 하고 싶어요]
'JAVA > Java' 카테고리의 다른 글
[JAVA] NumberFormat 클래스 (0) | 2019.09.30 |
---|---|
[JAVA] Math 클래스 (0) | 2019.09.30 |
[JAVA] Random 클래스에 대해서 (0) | 2019.09.30 |
[JAVA] String 클래스에 대해서 (0) | 2019.09.30 |
[JAVA] 기본 데이터 타입과 변환 (0) | 2019.09.30 |
[JAVA] 이클립스(eclipse) 설치 및 셋팅 (0) | 2019.09.30 |
[JAVA] jdk 설치 환경변수 설정 (0) | 2019.09.30 |
openssl AES 모드 : ECB,CBC,CFB,OFB,CTR (0) | 2019.04.02 |