Java에서 사용자 입력을 얻는 방법 [예제 포함]

게시 됨: 2021-05-27

목차

소개

Java에서 사용자 입력을 받는 것은 Java 로 성공적인 소프트웨어를 만드는 첫 번째 단계입니다. Java 프로그램은 마우스, 키보드, 네트워크 요청, CLI 인수 등과 같은 다양한 입력 소스를 통해 사용자로부터 입력을 수집합니다. Java 에는 또한 입력-출력 작업을 수행하기 위해 프로그램으로 가져올 수 있는 다양한 I/O 패키지가 있습니다. 이러한 패키지는 double, integer, string 등과 같은 기본 유형의 입력을 지원합니다.

이 기사에서는 Scanner, BufferedReader 및 InputStreamReader와 같은 메소드에 초점을 맞춰 Java에서 사용자 입력을 받습니다.

스캐너 클래스를 사용하여 Java에서 입력을 받는 방법은 무엇입니까?

Scanner 클래스는 모든 기본 유형 입력을 구문 분석하고 처리하는 "java.util" 패키지의 메소드 중 하나입니다. Scanner 클래스는 사용자에게 입력을 입력하도록 요청한 다음 화면이나 콘솔에 동일한 내용을 인쇄합니다. 프로그램의 "java.util" 패키지에서 Scanner 클래스를 가져와서 해당 메서드를 사용할 개체를 생성할 수 있습니다.

예를 들어,

스캐너 테스트 = new Scanner(System.in);

위의 문장에서 test는 객체의 이름이고 System.in은 입력 스트림이다. 생성된 Scanner 인스턴스 는 Java 에서 사용자 입력을 스캔합니다 .

참고: System.in을 프로그램의 입력 문자열로 작성할 필요는 없습니다. 파일과 읽을 파일로 대체할 수 있으며 문자열을 입력 스트림으로 사용할 수 있습니다.

예를 들어,

스캐너 테스트 = new Scanner(new FileInputStream("testFile.txt"), "UTF-8");

편집이 끝나면 스캐너를 닫으려면 코드 {test.close()}를 작성해야 합니다.

사용자로부터 입력을 읽기 위한 스캐너 방법

다음 표는 스캐너가 사용자가 입력한 Java 입력을 읽는 데 사용하는 방법을 나열합니다.

방법 반환 유형 설명
다음() 스캐너에서 다음 토큰을 반환합니다.
다음바이트() 바이트 다음 입력을 바이트로 읽습니다.
다음플로트() 뜨다 다음 입력을 float로 읽습니다.
넥스트 인트() 정수 다음 입력을 정수로 읽습니다.
다음짧은() 짧은 다음 입력을 짧게 읽습니다.
다음롱() 다음 입력을 long으로 읽습니다.
nextBoolean() 부울 다음 입력을 부울로 읽고 값을 반환합니다.
다음 줄() 스캐너를 한 줄 앞으로 이동하고 건너뛴 입력을 반환합니다.

예시

다음 Java 프로그램은 Scanner 클래스를 사용하여 Java (문자열, 정수 및 부동) 에서 사용자 입력을 받습니다.

가져오기 java.util.Scanner;

클래스 TakeUserInput

{

공개 정적 무효 메인(문자열 인수[])

{

정수

플로트 b;

문자열 c;

스캐너 테스트 = new Scanner(System.in);

// 사용자 입력을 문자열로 받습니다.

System.out.println("문자열을 입력하세요: ");

c = in.nextLine();

System.out.println("사용자 입력 문자열은 "+c);

// 사용자 입력을 정수로 받습니다.

System.out.println("정수를 입력하세요: ");

a = in.nextInt();

System.out.println("사용자 입력 정수: "+a);

// 사용자 입력을 float로 받습니다.

System.out.println("부동수를 입력하세요: ");

b = in.nextFloat();

System.out.println("사용자 입력 부동 소수점 수: "+b);

}}

산출

문자열 입력:

앤드류

사용자 입력 문자열: Andrew

정수 입력:

03

사용자 입력 정수: 03

부동 소수점 숫자 입력:

61.46

사용자 입력 부동 소수점 수: 61.46

스캐너 클래스를 사용하여 Java에서 입력을 받는 방법에 대해 자세히 알아보려면 스캐너 블로그 를 사용하여 Java에서 다중 문자열 입력을 확인하세요.

BufferedReader 및 InputStreamReader 메서드

BufferedReader는 문자 기반 입력 스트림에서 문자 스트림을 스캔하는 Java의 또 다른 클래스입니다. InputStreamReader는 BufferedReader가 스캔할 수 있도록 입력 스트림을 일련의 문자로 변환하는 Java의 기능입니다. BufferedReader 클래스는 InputStream을 매개변수로 받아들입니다.

BufferedReader 클래스는 read() 및 readLine() 메서드를 사용하여 문자와 다음 줄을 읽고 반환합니다.

BufferedReader 클래스를 생성하려면 java.io.BufferedReader 패키지를 가져와야 합니다.

// 파일 리더 생성

FileReader 테스트 = new FileReader(문자열 파일);

// BufferedReader 생성

BufferedReader a = 새로운 BufferedReader(테스트);

세계 최고의 대학에서 온라인으로 소프트웨어 엔지니어링 학위취득하십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.

사용자로부터 입력을 읽기 위한 BufferedReader 메서드

다음 표에는 버퍼링된 판독기가 사용자가 입력한 Java 입력을 읽는 데 사용하는 방법이 나열되어 있습니다.

방법 설명
준비가 된() 파일 판독기가 읽기 상태인지 확인합니다.
표시() 버퍼링된 판독기에서 데이터를 읽은 위치를 표시합니다.
초기화() 마크가 설정된 지점으로 컨트롤을 반환합니다.

예시

다음 Java 프로그램은 InputStreamReader 클래스와 함께 BufferedReader 클래스를 사용하여 Java에서 사용자 입력을 받습니다.

가져오기 java.io.BufferedReader;

가져오기 java.io.FileReader;

가져오기 java.io.IOException;

공개 클래스 테스트 {

공개 정적 무효 메인(문자열[] 인수) {

BufferedReader 버퍼 = null;

노력하다 {

문자열 scanFirstLine;

버퍼 = new BufferedReader(new FileReader("D:\\user_input.txt"));

동안 ((scanFirstLine = buffer.readLine()) != null) {

System.out.println(scanFirstLine);

}

} catch(IOException a) {

a.printStackTrace();

} 마지막으로 {

노력하다 {

if (버퍼 != null)

버퍼.닫기();

} catch(IOException b) {

b.printStackTrace();

} } } }

산출

파일에서 다음 데이터를 찾을 수 있습니다.

이것은 BufferedReader가 파일에서 읽는 샘플 명령문입니다.

위의 예에서 우리는 버퍼라는 버퍼링된 리더를 생성했습니다. 버퍼링된 판독기는 "user_input.txt" 파일과 연결됩니다.

그런 다음 readLine() 메서드를 사용하여 버퍼링된 판독기의 버퍼에서 문자를 스캔했습니다.

결론

이 기사에서는 Java에서 사용자 입력을 받는 데 사용되는 방법을 다루었습니다 . 우리는 예제와 함께 Scanner 및 BufferedReader 메서드에 대해 논의했습니다. 우리는 또한 Scanner 및 BufferedReader 클래스가 Java에서 입력 을 받는 데 사용하는 방법에 대해 논의했습니다 . Java에서 입력 을 처리하는 방법에 대한 기본적인 이해가 있기를 바랍니다 . Java 프로그래밍 언어를 더 배우고 싶다면 일하는 전문가를 위해 설계된 풀 스택 개발 과정에서 upGrad의 Executive PG Program을 확인하십시오.

지금 소프트웨어 개발 경력을 계획하십시오.

upGrad 소프트웨어 공학 직무연계PG 자격증 신청