Computer >> 컴퓨터 >  >> 프로그래밍 >> Java

Java 사용자 입력 마스터하기:스캐너 클래스에 대한 종합 안내서

Scanner 클래스는 Java 사용자 입력을 읽는 데 사용됩니다. Java Scanner는 java.util 패키지에 내장되어 있으므로 이를 사용하는 데 외부 라이브러리가 필요하지 않습니다. 스캐너는 표준 입력에서 텍스트를 읽습니다. 이 텍스트는 저장되거나 조작될 수 있도록 기본 프로그램으로 반환됩니다.

Java에서 사용자 입력을 얻는 방법을 이해하는 것은 중요한 기술입니다. 예를 들어 로그인 양식을 사용하여 앱을 구축한다고 가정해 보겠습니다. 사용자의 로그인 자격 증명을 수집하려면 사용자 입력을 처리해야 합니다.

Java에서는 스캐너를 사용할 수 있습니다. 프로그램에서 처리할 수 있는 사용자 입력을 받는 클래스입니다. 이 튜토리얼에서는 몇 가지 예를 사용하여 Java Scanner 클래스를 활용하여 사용자 입력을 받는 방법을 설명합니다.

Java Scanner 클래스는 사용자 입력을 수집하는 데 사용됩니다. 스캐너는 java.util 패키지의 일부이므로 외부 라이브러리를 다운로드하지 않고도 가져올 수 있습니다. 스캐너는 표준 입력에서 텍스트를 읽고 이를 프로그램에 반환합니다.

Scanner 클래스를 사용하려면 먼저 해당 클래스를 코드로 가져와야 합니다. 이를 수행할 수 있는 방법은 두 가지가 있습니다:

  1. java.util.Scanner로만 작업해야 하는 경우 클래스를 사용하면 Scanner 클래스를 직접 가져올 수 있습니다.
  2. java.util에서 다른 모듈로 작업하는 경우 라이브러리가 있는 경우 전체 라이브러리를 가져올 수도 있습니다.

다음은 위의 각 방법에 대한 코드입니다:

import java.util.Scanner;
import java.util.*;

코드의 첫 번째 줄은 Scanner 클래스를 가져옵니다. 두 번째 코드 줄은 Scanner를 포함하여 java.util 라이브러리 내의 모든 패키지를 가져옵니다.

Java에서 사용자 입력 데이터를 수신하는 다른 방법이 있다는 점은 주목할 가치가 있습니다. Java의 BufferedReader, InputStreamReader, DataInputStream 및 Console 클래스를 사용할 수 있습니다.

그러나 Scanner 클래스는 Java에서 사용자 입력을 수집하는 가장 널리 사용되는 방법입니다. 따라서 이번 글에서는 해당 수업에 초점을 맞춰보겠습니다.

Java 사용자 입력 구문

Scanner 클래스를 사용하여 사용자 입력을 수집할 수 있습니다. Scanner 클래스는 사용자가 콘솔에 삽입한 텍스트를 읽고 해당 텍스트를 프로그램으로 다시 보냅니다. 스캐너는 Java 사용자 입력을 수집하는 주요 방법입니다.

Java Scanner 클래스를 가져온 후 이를 사용하여 사용자 입력을 수집할 수 있습니다. Java Scanner 클래스의 구문은 다음과 같습니다.

Scanner input = new Scanner(System.in);
int number = input.nextInt();

이 예에서는 input라는 변수를 만들었습니다. 사용자가 콘솔에 입력하는 다음 값을 수집합니다. 그런 다음 number라는 변수를 만들었습니다. 사용자가 콘솔에 제출하는 값을 수집합니다.

Java 사용자 입력 예

예를 들어, 재고를 추적하는 지역 컴퓨터 상점용 애플리케이션을 구축한다고 가정해 보겠습니다.

관리자는 상점의 재고 목록에 품목을 추가하는 데 사용할 수 있는 간단한 프로그램을 만들어 달라고 요청했습니다. 관리자는 품목 이름과 수량이라는 두 가지 값을 입력할 수 있기를 원합니다.

이 프로그램을 만드는 데 사용할 코드는 다음과 같습니다.

import java.util.Scanner;
class Main {
 public static void main(String[] args) {
 Scanner input = new Scanner(System.in);
 System.out.print("Product name: ");
 String product_name = input.next();
 System.out.print("Value entered: " + product_name);
 System.out.print("Quantity: ");
 int quantity = input.nextInt();
 System.out.print("Value entered: " + quantity);
 }
}

첫 번째 입력에서는 항목 이름을 허용합니다. 항목 이름은 텍스트 기반이고 다양한 문자를 사용하므로 문자열이 됩니다. 아래 코드에서는 String product_name 코드로 이 문자열을 정의합니다. .

다음 입력은 품목의 수량입니다. 이것은 숫자가 될 것입니다. 아래 코드에서는 int amount 코드로 이 숫자를 정의합니다. , 여기서 int 정수를 의미합니다.

코드를 실행하고 몇 가지 예시 값을 삽입하면 프로그램은 다음과 같은 응답을 반환합니다.

Product name: 15-inch MacBook Pro 2019

Value entered: 15-inch MacBook Pro 2019

Quantity: 7

Value entered: 7

보시다시피 우리 프로그램은 사용자의 입력을 수집했습니다. 그런 다음 사용자가 입력한 값을 콘솔에 반환했습니다. 이를 통해 프로그램이 작동하는지 확인할 수 있습니다.

스캐너 Java 프로그램 작동 방식

코드를 단계별로 분석해 보겠습니다.

  1. 사용자 입력을 받을 수 있도록 스캐너 라이브러리를 코드로 가져옵니다.
  2. 프로그램 코드를 저장하는 Main이라는 클래스를 선언합니다.
  3. Scanner input =new Scanner(System.in);을 사용하여 Scanner 클래스를 초기화합니다. 입력 Java 변수는 초기화된 스캐너를 저장합니다.
  4. '제품 이름:'을 콘솔에 출력하고 사용자에게 input.next();를 사용하여 제품 이름을 제출하도록 요청합니다. .
  5. 사용자가 제출한 제품 이름을 콘솔에 인쇄합니다.
  6. 수량:을 인쇄합니다. 콘솔에 접속하여 input.nextInt();를 사용하여 사용자에게 재고 제품 수량을 제출하라는 메시지를 표시합니다. .
  7. 수량의 값을 인쇄합니다. 콘솔에 변수를 추가합니다.

숫자와 문자열을 수집하기 위해 다른 코드를 사용했다는 점에 유의하세요. 제품명을 수집할 때 input.next();를 사용했습니다. , 제품 수량을 수집할 때 input.nextInt();를 사용했습니다. .

Java 스캐너:입력 유형

위의 예에서는 사용자로부터 문자열과 정수라는 두 가지 유형의 데이터를 수집했습니다. 앞서 언급했듯이 이러한 유형의 데이터를 수집하려면 다른 코드를 사용해야 했습니다.

문자열, 정수 등 다양한 유형의 데이터는 별도의 방법을 사용하여 수집됩니다. 따라서 부울을 수집하려면 부동소수점을 수집하는 것과 다른 코드를 사용하게 됩니다.

Java 사용자 입력 마스터하기:스캐너 클래스에 대한 종합 안내서

"Career Karma는 제가 가장 필요할 때 제 삶에 들어왔고 빠르게 부트캠프에 적응할 수 있도록 도와주었습니다. 졸업한 지 두 달 만에 저는 제 삶의 가치와 목표에 맞는 꿈의 직업을 찾았습니다!"

Venus, Rockbot의 소프트웨어 엔지니어

귀하에게 적합한 부트캠프 찾기

다음은 Scanner 클래스를 사용하여 Java에서 사용자 입력을 수집하는 데 사용되는 모든 메소드를 보여주는 표입니다.

방법 메서드가 수집하는 값 유형 nextBoolean()booleannextByte()bytenextDouble()doublenextFloat()floatnextInt()intnextLine()StringnextLong()longnextShort()short

잘못된 입력 유형을 삽입하면 프로그램에서 InputMismatchException이 발생합니다. 예를 들어 부울을 수집하는 필드에 double을 삽입하려고 하면 프로그램에서 예외가 발생합니다. 

부울 값 수집

다시 컴퓨터 가게로 돌아가자. 첫 번째 프로그램을 업데이트하고 컴퓨터 매장 관리자가 제품이 진열되어 있는지 또는 재고 보관소에 있는지 입력하도록 하고 싶다고 가정해 보겠습니다.

이를 위해 on_display라는 새로운 값을 수집하려고 합니다. true 또는 false의 두 가지 값만 가질 수 있기 때문에 입력을 부울로 저장합니다.

이 데이터를 수집하는 데 사용할 수 있는 코드는 다음과 같습니다.

import java.util.Scanner;
class Main {
 public static void main(String[] args) {
 Scanner input = new Scanner(System.in);
 System.out.print("Product name: ");
 String product_name = input.next();
 System.out.print("Value entered: " + product_name);
 System.out.print("Quantity: ");
 int quantity = input.nextInt();
 System.out.print("Value entered: " + quantity);
System.out.print("On display: ");
 boolean on_display = input.nextBoolean();
 System.out.print("Value entered: " + on_display);
 }
}

코드를 실행하고 몇 가지 예시 값을 삽입하면 프로그램은 다음과 같은 응답을 반환합니다.

Product name: 15-inch MacBook Pro 2019

Value entered: 15-inch MacBook Pro 2019

Quantity: 7

Value entered: 7

On display: true

Value entered: true

우리 프로그램은 위의 예와 동일한 방식으로 작동합니다. 그러나 이번에는 사용자로부터 추가 가치, 즉 프로그램에 삽입한 제품이 표시되는지 여부를 수집합니다. 우리는 nextBoolean() 을 사용합니다. 사용자로부터 이 값을 수집하는 방법입니다. 그런 다음 해당 값을 콘솔에 인쇄합니다.

결론

Java의 Scanner 클래스를 사용하여 사용자로부터 입력을 수집할 수 있습니다. Scanner 클래스는 짧은 값, 문자열, 부울 등을 포함하여 사용자로부터 다양한 데이터 유형을 수집할 수 있습니다.

이 튜토리얼에서는 몇 가지 예를 사용하여 Java Scanner 클래스를 사용하여 사용자 입력을 수집하는 방법을 살펴보았습니다. 또한 사용자 입력을 수집하는 데 사용할 수 있는 Scanner 클래스가 제공하는 다양한 데이터 유형에 대해서도 논의했습니다.

Java 코딩에 대해 자세히 알아보려면 Java 코딩 방법 가이드를 읽어보세요.