자바(Java)에서 콘솔입력을 지원하는 `Scanner 클래스`

처음 자바(Java)를 공부했을 때 C언어에서 scanf()함수를 사용하는 것과 같이 콘솔이나 커맨드 프롬프트에서 사용자가 입력하는 값을 어떻게 받는지 궁금했다. 그래서 방법을 찾아봤는데 꼭 필요한 것이지만 왠걸.. 방법을 찾기가 쉽지 않았다. 이래저래 알아낸 것이 IOException을 import해서 System.in을 이용한 read()와 readLine()이었다.

그러나 이것은 문자와 문자열을 입력받는 것이고, 이렇게 받은 것을 parseInt() 등으로 변환하는 식의 번거로운 절차를 거쳐야 했기에 '뭐, 이런식으로..?'라고 생각을 했던 기억이 있다. 하지만 이제는 자바에서도 사용자가 입력하는 다양한 형태의 데이타 입력을 받기 위한 'Scanner 클래스'가 있다. util.*나 util.Scanner를 import하고서 System.in으로 인스턴스를 만든 후 '객체.nextInt()’로 정수값을 받는다. 실수값을 받는다면 nextFloat()로 해주면 된다. 그 외, 문자나 문자열을 입력받는 nextByte(), nextLine() 등을 비롯, 다양한 데이타를 받는 메소드들이 있다.

  1: import java.io.* ;  
  2: import java.util.Scanner ;
  3: import java.util.* ;
  4: 
  5: public class ScanInput {
  6:   public static void main(String[] args) {
  7:     Scanner scan = new Scanner(System.in) ;
  8:     
  9:     int numInt ;
 10:     float numFloat, sum ;
 11:      
 12:     System.out.print("정수형과 실수형 숫자 2개를 입력하세요 : ") ;
 13:      
 14:     numInt = scan.nextInt();
 15:     numFloat = scan.nextFloat();
 16:      
 17:     sum = numInt + numFloat ;
 18:      
 19:     //같은 출력 결과
 20:     System.out.printf("%d + %f = %f\n",numInt, numFloat, sum) ;
 21:     System.out.println(numInt + " + " + numFloat + " = " + sum) ;
 22:   }
 23: 
 24: }

by 케찹만땅 | 2011/05/10 13:42 | JavaAndroid | 트랙백(1)

트랙백 주소 : http://wpkc.egloos.com/tb/4972181
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Tracked from [MarShall™] .. at 2012/04/06 00:40

제목 : Scanner 함수 이용하여 입력받기 (scanf와..
이제 본격적으로 슬슬 Java와 JavaScript 공부에 푹 빠져있는 MarShall™ 입니다. 구글이나 다음, 네이버 등을 조금만 뒤지셔도 특정 함수나 기능에 대해 너무나도 친절히 잘 정리한 블로그나 카페들이 많습니다. 여담이지만, 영어에 대해 잘 알고있는 일부 '레알' 전문가 분들은 주로 Java 홈페이지 및 문서 등을 통해 직접 새 기능 및 함수들을 배우신다고 합니다. ("난 정말 Java를 배운 적이 없다구요"의 동영상 강의 1-1강에......more

※ 로그인 사용자만 덧글을 남길 수 있습니다.

◀ 이전 페이지          다음 페이지 ▶