화면에서 입력받기 - Sacnner
> Scanner 란?
- 화면으로부터 데이터를 입력받는 기능을 제공하는 클래스
> Scanner를 사용하려면...
1) import문 추가
import java.util.*;
2) Scanner 객체의 생성
Scanner scanner = new Scanner(System.in); ( system.in : 화면 입력)
3) Scanner 객체를 사용
int num = scanner.nextInt(); // 화면에서 입력받은 정수를 num에 저장
nextFloat() <- 실수
String input = scanner.nextLine(); // 화면에서 입력받은 내용을 input에 저장 (nextLine : 한 행)
int num = Integer.parseInt(input); // 문자열(input)을 숫자(num)으로 변환
예제1) import문 추가하기
import java.util.*; // * 모든 클래스 사용 , Scanner 클래스만 적어줘도 됨
예제2) Scanner 클래스 객체 생성하기
import java.util.*; // 1. Import 문 추가
public class ScanfEx1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 2. Scanner 클래스의 객체 생성
Scanner scanner = new Scanner(System.in);
}
}
예제2) 생성된 객체를 가지고 화면에서 입력 받기
public class ScanfEx1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 2. Scanner 클래스의 객체 생성
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
System.out.println(num);
}
}
>> 입력된 값은 파란색 / 출력된 값은 흰색
예제3) 두개의 값을 연속적으로 입력 받기
public class ScanfEx1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 2. Scanner 클래스의 객체 생성
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
int num2 = scanner.nextInt(); // 추가
System.out.println(num);
System.out.println(num2); // 추가
}
}
예제4) 라인단위로 입력 받기
public static void main(String[] args) {
// TODO Auto-generated method stub
// 2. Scanner 클래스의 객체 생성
Scanner scanner = new Scanner(System.in);
String input = scanner.nextLine();
// 라인단위로 입력받기 위한 문구 (값을 여러개, 숫자, 문자열, 실수... 섞여있을 때) 사용
int num = Integer.printInt(input);
System.out.println(num);
}
}
+ Scanner가 노란색으로 뜨는 이유
>> 모든 입출력 관련된 객체들은 사용한 후 반드시 닫아주어야하는데, 닫지 않아 표시됨
JVM이 자동으로 관리해주기 때문에 무시해도됨
'자바의 정석 - 기초편' 카테고리의 다른 글
타입간의 변환방법 (0) | 2022.07.29 |
---|---|
정수형의 오버플로우 (0) | 2022.07.28 |
printf를 이용한 출력 (0) | 2022.07.28 |
기본형의 종류와 범위 (0) | 2022.07.28 |
기본형과 참조형 (0) | 2022.07.28 |