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을 확인하십시오.
