본문 바로가기

Language/Java / JSP

[Java] 커맨드창에서 사용자 입력값 받기

반응형

자바 GUI 프로그램이 아닌 일반적인 커맨드 창에서 실행되는 자바 프로그램에서는 사용자 입력값을 받는 몇가지 방법이 있다.
사용자 입력값을 받는 가장 단순한 방법은 자바 파일 호출시 args[]에 변수를 넘겨 사용할 수 있는데,

이런 단순한 방식이 아닌, 프로그램 실행시마다 사용자의 입력값이 달라지는 값을 받아야 한다고 하면 args[]에 변수를 넘겨 작동시키는 방법보다는 커맨드창에서 프로그램 실행시 사용자의 값을 받는것이 좋다.

이처럼 프로그램 실행 중간중간마다 사용자의 값을 받을수 있게끔 하는데에는 몇가지 방법이 있는데, 그 중에서도 java.io 에서 제공하는 Console 메소드를 활용하면 쉽게 구현이 가능하다.


[예제소스]

import java.io.Console;


public class ConsoleTest {

	public static void main(String[] args) {
		
				
		String userName = "" ;
		String userAddr = "" ;
		String userAge = "" ;
		
		
		
		Console console = System.console() ;
		
		userName = console.readLine("%s", "이름을 입력해 주세요 : ");
		userAddr = console.readLine("%s", "지역을 입력해 주세요 : ");
		userAge = console.readLine("%s", "나이를 입력해 주세요 : ");
		
		System.out.println("") ;
		System.out.println("[사용자 입력 값 출력]") ;
		System.out.println(userName) ;
		System.out.println(userAddr) ;
		System.out.println(userAge) ;
		

	}

}




[실행화면]


 D:\Project\bin>java ConsoleTest
 이름을 입력해 주세요 : 홍길동
 지역을 입력해 주세요 : 서울시 중구
 나이를 입력해 주세요 : 28

 [사용자 입력 값 출력]
 홍길동
 서울시 중구
 28

 D:\Project\bin>




위 예제소스와 실행화면을 보면 알겠지만 console.readline 에서 사용자의 입력값을 기다리고, 입력된 값을 해당 변수에 넣어준다. 이렇게 처리함으로서 프로그램 로직으로 입력값에 따른 분기처리를 구현할 수 있다.

나같은경우 어떠한 데이터를 가공할수 있는 간단한 툴을 만들고 이 프로그램을 담당자에게 전달하여
컴퓨터와 친하지 않은 담당자도 간단한 입력만으로 원하는 데이터를 가공하여 추출할 수 있게끔 했다.



참고로 이클립스에서는 작동 안하니, 커맨드 창으로 테스트하면 된다.

'Language > Java / JSP' 카테고리의 다른 글

[Java] 프록시 적용하기  (5) 2014.10.07
[JSP] 캐쉬(Cache) 삭제하기  (3) 2014.10.03
[JSP] 정적, 동적 include  (0) 2014.09.18
[Java] 파일 복사하기 - FileChannel  (0) 2014.09.17
[Java] 간단한 숫자체크  (0) 2014.09.15