일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- array
- 파이썬
- implement
- sorting
- 코딩테스트
- Matrix
- geometry
- SQL
- Method
- simulation
- Tree
- hash table
- string
- Class
- two pointers
- greedy
- Number Theory
- 자바
- java
- Binary Search
- Counting
- dynamic programming
- Math
- Stack
- 구현
- 코테
- Binary Tree
- Data Structure
- database
- bit manipulation
- Today
- Total
코린이의 소소한 공부노트
Scanner를 이용해 값을 직접 입력해서 화면에 출력하기 본문
지금까지 print 메서드를 쓴 것을 생각해보면
System.out.println("안녕?"); // "안녕?"
String s = "안녕?";
System.out.println(s); // "안녕?"
1) 출력하고 싶은 값을 직접 넣거나
2) 변수에 값을 저장한 후 출력하는 방식을 썼다.
이렇게 코드 입력 시 출력 값을 정해주는 방법 외에도, 코드를 작성해서 실행시킨 후 입력을 받아 화면에 출력할 수 있다. 그것이 이번에 볼 Scanner라는 것이다.
Scanner는 화면에서 데이터를 입력받는 기능을 제공하는 클래스이다.
이 클래스를 사용하려면 Scanner를 불러오고, Scanner 객체를 생성하는 것이다.
// Scanner import - 둘 중 아무거나 써도 무방
import java.util.Scanner;
import java.util.*; // Scanner를 포함한 util 내부의 모든 클래스 추가
// Scanner 객체 생성
Scanner scan = new Scanner(System.in);
// System.in은 화면 입력에 관한 클래스
이렇게 생성한 객체를 이용해서 정수를 입력받아보겠다.
int n1 = scanner.nextInt(); // 정수 1개를 화면에서 입력받음
System.out.println(n1);
위 코드를 실행시킨 후 콘솔(Console) 화면에 정수를 입력 후 엔터를 치면 입력한 숫자가 출력된다.
하늘색은 필자가 입력한 숫자고, 하얀색은 println()으로 출력된 결과이다.
그럼 이번에는 2개를 입력받아보겠다. 위 코드를 2개 만들면 된다.
int n1 = scan.nextInt();
int n2 = scan.nextInt();
System.out.println(n1);
System.out.println(n2);
입력받을 값이 2개이므로, 2개를 띄어 써서 입력하면 차례대로 출력된다.
이 글에서 예시는 nextInt() 1개만 들었지만, 이외에도 자주 쓸법한 메서드들이 있다.
1) nextFloat()
- 실수 1개를 입력받는 메서드
2) nextLine()
- 줄바꿈(엔터 또는 '%n' 또는 '\n')을 기준으로 한 줄씩 입력받는 메서드
3) next()
- 공백(띄어쓰기 또는 ' ')을 기준으로 하나씩 입력받는 메서드
[쿠기글] 숫자와 문자열의 변환
숫자를 문자열로 변환하는 건 의외로 간단하다.
String s1 = 16 + ""; // "16"
int i = 15;
String s2 = i + ""; // "15"
문자열을 숫자로 바꿀때는 parseInt() 메서드를 이용하면 된다.
i = Integer.parseInt(s1); // 16
'Java' 카테고리의 다른 글
연산자(operator)의 종류와 우선순위, 결합규칙 (0) | 2021.12.28 |
---|---|
정수의 오버플로우(overflow) (0) | 2021.12.16 |
printf()를 이용한 형식화된 출력 (0) | 2021.12.12 |
문자와 문자열 (0) | 2021.12.08 |
변수와 리터럴의 타입 일치/불일치 (0) | 2021.12.08 |