Java로 사용자 입력 가져 오기
이 기사에서는 Java에서 사용자 입력을 얻는 가장 좋은 방법에 대해 설명합니다. 여러 가지 방법이 있지만 이러한 방법 중 일부는 이미 더 이상 사용되지 않으므로 피할 것입니다.
Java에서 사용자 입력을 가져 오는Scanner
Scanner
를 사용하여 목표를 달성 할 수 있습니다. 사용자로부터 입력을 받기 위해InputStream
을 열기 때문에 클래스의 객체를 생성하고System.in
을 생성자에게 전달해야합니다.
다음 단계는Scanner
개체를 사용하고 다음 메서드 중 하나를 호출하는 것입니다. 모든 메소드는 서로 다른 데이터 유형의 입력 값을 사용합니다.
방법 | 기술 |
---|---|
next() |
문자열 값 |
nextInt() |
정수 값 |
nextByte() |
바이트 값 |
nextLong() |
긴 가치 |
nextFloat() |
부동 값 |
nextDouble() |
이중 가치 |
아래 예제에서는 정수 값을받는nextInt()
메서드를 사용합니다.
예:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner inputReader = new Scanner(System.in);
System.out.println("Enter a number: ");
int number = inputReader.nextInt();
System.out.println("Your entered number was: " + number);
}
}
출력:
Enter a number:
454
Your entered number was: 454
Java에서 사용자 입력을 얻기위한BufferedReader
사용자로부터 입력을받을 수있는 다른 클래스가 있습니다. BufferedReader
는 문자 스트림을 사용하여 입력에서 텍스트를 읽는 반면Scanner
는 기본 입력 유형일 때 사용할 수 있습니다.
이는BufferedReader
클래스에nextInt()
와 같은 메소드가 없지만 입력을 받아 나중에 파싱 할 수있는readLine()
메소드가 있음을 의미합니다.
아래 예에서는 입력을 int
로 사용합니다. 입력을 읽어서Integer.parseInt(String)
를 사용하여int
유형으로 파싱해야합니다. 외부 입력 장치가 없으면 IOException
이 나타날 수 있으므로 명령문을try-catch
블록으로 묶어야합니다.
예:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
try {
System.out.println("Please enter a number: ");
String s = br.readLine();
int i = Integer.parseInt(s);
System.out.println("Your entered number was: " + i);
} catch (IOException e) {
e.printStackTrace();
}
br.close();
}
}
출력:
Please enter a number:
454
Your entered number was: 454
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn