[JAVA] 스캐너 클래스를 이용한 인수 입력 & args 입력
자바에도 C 의 scanf 와 같이 사용자 입력값을 받는 방법이 존재한다.
java.util.Scanner 에 존재하는 Scanner 클래스를 사용하면 사용자 입력값을 받을 수 있다 .
- Scanner Class 메소드

- Scanner Class 사용법
import java.util.*
java.util을 import 해서 사용이 가능하다.
Scanner s= new Scanner(System.in); // 잆력한 값을 Scanner 클래스에 System.in 으로 넣어준다.
스캐너 클래스 변수를 만들고, System.in 으로 사용자 입력값을 Scanner 변수에 넣어준다.
* System.in 은 키보드로부터 입력을 받는다고 알면 된다. Scanner 클래스는 키보드로 입력받겠다는 뜻.
String a1 = s.next(); // next() 함수로 첫번째 인자를 받아 저장한다.
String a2 = s.nextLine(); // next()함수와 동일하나, 공백을 나누지 않고 포함하여 저장한다.
int a3 = s.nextInt(); // nextInt() 함수로 두번째 인자를 받아 저장한다.
double a4 = s.nextDouble(); // nextDouble() 함수로 세번째 인자를 받아 저장한다.
사용자 입력이 담겨진 Scanner 변수에서 next() 함수를 이용해 첫번째 값을 가져온다.
이때 사용자가 입력한 입력값을 공백(/t 등)을 기준으로 나눠 가져온다 .
* 메소드의 종류는 상단에서 설명
-예시
import java.util.*;
public class test2 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
String a1=s.next();
int a2= s.nextInt();
double a3=s.nextDouble();
System.out.println(a1);
System.out.println(a2*2);
System.out.println(a3*2);
}//main
}// class
-결과

- args 사용법
Scanner 클래스 외에 main 함수에 존재하는 args 인자를 이용하여 사용자 입력값을 받는 방법이 존재한다.
public static void main(String[] args) { // 메인의 args 이용해 인수를 받음
String s1 = args[0];
String s2 = args[1];
System.out.println(s1+","+s2);
}
위와 같이 args 를 이용해 사용자 입력값을 받을 수 있다.
Scanner 와 마찬가지로, 공백이나 탭을 통해 인자를 구분한다.
* args 의 자료형은 String 이므로 int 로 받고 싶다면 Integer.parseInt() 를 사용해 int 형으로 받으면 된다.
*번외 - 터미널 필요없이 이클립스에서 사용자 입력하기
사용자 입력값을 이클립스 자체에서 처리하는 방법이다.

위 코드를 이클립스에서 그냥 실행하면 오류가 난다.
이클립스 상단바에 위치한 실행아이콘 옆의 삼각형을 눌러준다.

Run Configurations 를 눌러준다.

왼쪽의 탭에서 인자를 입력할 파일을 선택하고, Arguments 에 들어가 원하는 값을 입력한다.

그리고 나와서 실행하면 정상적으로 인자를 받는 것을 볼 수 있다.