2011. 5. 10. 13:49
자바(Java)에서 콘솔입력을 지원하는 `Scanner 클래스`
2011. 5. 10. 13:49 in JavaAndroid
처음 자바(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: }
'JavaAndroid' 카테고리의 다른 글
자바(Java) 객체 인스턴스 생성과 멤버변수 및 멤버함수 활용 (0) | 2011.05.19 |
---|---|
자바(Java), 이중 for문과 2차원 배열 예제 (0) | 2011.05.19 |
자바(Java)로 구의 넓이와 부피 구해보기 (0) | 2011.05.12 |
자바(Java)에서 boolean 자료형과 bit 연산의 종류 및 실행결과 (0) | 2011.05.11 |
자바(Java)에서 숫자 자릿수 표현 클래스 `DecimalFormat` (0) | 2011.05.11 |
통합개발환경(IDE) C/C++ 컴파일러 `Code::Blocks` (0) | 2011.04.07 |
컴퓨터 소프트웨어와 프로그램 개발 (0) | 2011.04.05 |
오픈소스 세계의 발전모델 (0) | 2011.04.05 |