본문 바로가기
Back-End/Java

[Java] 이클립스에서 명령행 인자 입력방법

by 찐코딩 2021. 8. 8.

 

위 코드에서 args[0]은 명령행 인자(command-line arguments)

명령행 인자는 클래스를 실행할 때, 커맨드 뒤에 함께 입력하는 값을 의미

이클립스에서 명령행 인자를 입력받기 위해서는 [Run Configuration]설정 필요

 

Run Configurations 이용 방법

1. 상단 바 Run메뉴에 Run Configurations 선택

 

2. 실행할 project, class 선택

 

3. Arguments 탭 선택하여 program arguments에 입력 값을 삽입

아래와 같이 엔터로 구분하여 입력값을 차례로 기입한다. (su1 변수에 100, su2 변수에 200 입력)

기입 후 Run 클릭

결과

 

 

매개변수 전달과정

 

 1) 명령형 매개변수는 main()메서드의 매개변수 통해 전달

 2) 프로그램 수행 시작 시 지정된 모든 명령행 매개변수들을 Java 인터프리터에 의해 각각 문자열로 만들어지고

   이 문자열들을 참조하는 String 배열 객체로 생성된 뒤 전달

 3) main()에 전달된 명령행 매개변수는 String args[]로 전달받아 처리

  ==> 따라서 su1+su2결과가 100200 로 나옴

 

산술 연산 시 정수형(int)으로 변환하는 작업을 거쳐야 함

Integer.ParseInt ==> 정수형으로 변환

 

이게 번거롭다면 코드를 하나로 합칠수도 있다.

 

 

su1, su2에 각각 200, 300 입력

 

 


하지만 이 방법은 문자열을 바꾸려고 할 때마다, 수정해야 하는 번거로움이 있다,

보다 편리한 방법으로

JOptionPane.showInputDialog 메소드를 이용하여 실행창을 띄워 인자를 입력할 수 있도록 하는 방법이 있다.

 

JOptionPane.showInputDialog 메소드 이용

import javax.swing.JOptionPane;

public class Ex06 {

	public static void main(String[] args) {
		
		// 1. 키보드로 부터 정수값 입력받기_입력창 생성
		int num =
			Integer.parseInt(JOptionPane.showInputDialog("정수를 입력받자"));
		
		// 2. 입력받은 정수 출력하기
		if (num<0) {
			System.out.println("입력받은 정수는  " + num +"입니다..");
		}			
	}
}

실행하면 아래와 같은 결과창이 뜬다.

 

결과

 

댓글