Codegym University 과정의 일부로 멘토와 함께하는 강의 스니펫. 전체 과정에 등록하십시오.


"아미고, 당신의 시간이 왔습니다. 이제 키보드 입력에 대해 알려 드리겠습니다."

"우리는 System.out을 사용하여 화면에 데이터를 표시했습니다. 입력을 받으려면 System.in을 사용할 것입니다 ."

"쉽게 들리네요."

"그러나 System.in 에는 한 가지 단점이 있습니다. 키보드에서 문자 코드만 읽을 수 있다는 것입니다. 이 문제를 해결하고 한 번에 많은 양의 데이터를 읽으려면 더 복잡한 구성을 사용합니다."

예 1
키보드에서 문자열과 숫자 입력
InputStream inputStream = System.in;
Reader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

String name = bufferedReader.readLine(); //Read a string from the keyboard
String sAge = bufferedReader.readLine(); //Read a string from the keyboard
int nAge = Integer.parseInt(sAge); //Convert the string to a number.
예제 2
이전 예제의 보다 간결한 버전:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
예 3
더욱 콤팩트
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();

"질문 있나요?"

"어...아무것도 이해하지 못했어요."

"키보드에서 문자열을 읽으려면 BufferedReader 개체를 사용하는 것이 가장 편리 합니다. 하지만 그렇게 하려면 데이터를 읽을 개체를 전달해야 합니다. 이 경우 System.in입니다 ."

"그러나 System.inBufferedReader는 호환되지 않으므로 다른 어댑터인 다른 InputStreamReader 개체를 사용합니다 ."

"이제 알 것 같아요. 이 Scanner 클래스가 뭐죠 ?"

"스캐너는 편리할 수 있지만 그다지 유용하지는 않습니다. 문제는 공부와 작업을 진행하면서 BufferedReader와 InputStreamReader를 자주 사용 하지만 Scanner는 매우 드물게 사용한다는 것입니다. 우리 예에서는 편리하지만 미래에는 자주 유용하지 않을 것입니다. 그래서 우리는 그것을 많이 사용하지 않을 것입니다 ."

"분명해 보이지만 모든 것을 이해했는지 확신할 수 없습니다."