스캐너(Scanner)

민범·2023년 12월 17일

Java -기본-

목록 보기
10/18

Scanner

  • System.out을 통해서 출력을 했듯이, System.in을 통해서 사용자의 입력을 받을 수 있다. 그런데 자바가 제공하는 System.in을 통해서 사용자의 입력을 받으려면 여러 과정을 거쳐야한다. 이런 문제를 해결 하기위해 Scanner라는 클래스를 제공한다.
Scanner scanner = new Scanner(System.im);
***
System.out.print("문자열을 입력하세요:");
String str = scanner.nextLine(); //입력을 String형으로 가져옵니다.
System.out.println("입력한 문자열" + str);
***
System.out.print("정수를 입력하세요:");
int intValue = scanner.nextInt(); //입력을 int형으로 가져옵니다.
System.out.println("입력한 정수" + intValue);
***
System.out.print("실수를 입력하세요:");
double doubleValue = scanner.nextDouble(); //입력을 double형으로 가져옵니다.
System.out.println("입력한 문자열" + doubleValue);
  • Scanner scanner = new Scanner(System.im);
  • 이 코드는 객체와 클래스를 배워야 정확히 이해할 수 있다. 지금은 Scanner의 기능을 사용하기 위해 new를 사용해서 Scanner를 만든다 정도로 이해하면 된다. ScannerSystem.in을 사용해서 사용자의 입력을 편리하게 받고록 도와준다.
  • Scanner scanner코드는 Scanner타입의 변수 scanner를 선언하는 것이다. 이 변수를 통해 Scanner를 사용할 수 있다.
  • scanner.nextLine(): 엔터(\n)을 입력할 때 까지 문자를 가져온다.
  • scanner.nextInt(): 입력을 int형으로 가져온다. 정수 입력에 사용한다.
  • scanner.nextDouble(): 입력을 double형으로 가져온다. 실수 입력에 사용한다.

Scanner 예제

Scanner scanner; // scanner클래스의 변수 선언
***
System.out.print("첫 번째 숫자를 입력하세요:");
int num1 = scanner.nextInt();
***
Systme.out.print("두 번째 숫자를 입력하세요:");
int num2 = scanner.nextInt();
***
int sum = num1 + num2;
System.out.println("두 숫자의 합: " + sum);
  1. num1에서 scanner를 통해 사용자가 입력한 int형의 변수를 저장한다.
  2. num2에서 scanner를 통해 사용자가 입력한 int형의 변수를 저장한다.
  3. sum변수를 통해 입력한 숫자를 더하고 출력한다.

Scanner 예제2

Scanner scanner; // scanner클래스의 변수 선언
***
System.out.print("첫 번째 숫자를 입력하세요:");
int num1 = scanner.nextInt();
***
Systme.out.print("두 번째 숫자를 입력하세요:");
int num2 = scanner.nextInt();
***
if (num1 > num2) {
	System.out.println("두 큰 숫자: " + num1);
} else if (num2 > num1) {
	System.out.println("두 큰 숫자: " + num2);
} else {
	System.out.println("두 숫자는 같습니다);
}
  1. num1에서 scanner를 통해 사용자가 입력한 int형의 변수를 저장한다.
  2. num2에서 scanner를 통해 사용자가 입력한 int형의 변수를 저장한다.
  3. 만약 num1num2보다 크다면 if문의 첫번째 조건을 통해 num1이 더크므로 num1이 출력되고
  4. 첫 번째 조건이 아니고 num2num1보다 크다면 두 번째 조건을 통해 num2가 출력됩니다.
  5. 두 조건다 아니면 num1num2가 같으므로 두 숫자는 같습니다라는 내용이 출력됩니다.

Scanner 반복 예제

Scanner scanner; // scanner클래스의 변수 선언
***
while (true) {
	System.out.print("문자열을 입력하세요:");
    String str = scanner.nextLine(); //입력 받을 수 있는 String형의 str 변수 선언
    if(str.equals("exit")){ //str의 값과 "exit"를 비교해서 맞으면 실행
    	System.out.print("프로그램을 종료합니다");
        break; //while문 정지
      }
     System.out.print("입력한 문자열:" + str);
   }
  • 문자열을 입력하는데 입력받은 문자열이 exit인지 문자열 변수와 비교해서 맞으면 while문을 종료하는 예제입니다.
profile
웹 백엔드 개발자를 지향하고 있습니다.

0개의 댓글