본문 바로가기

언어/Java

[ Java ] args를 통한 command line 입력 받기

반응형

Java 프로그램에서 커맨드 라인 인수를 사용하는 방법은 매우 간단합니다. main 메서드의 매개변수로 String[] args를 사용하여 커맨드 라인에서 전달된 인수를 받을 수 있습니다. 이 배열은 프로그램이 실행될 때 전달된 인수들을 문자열로 포함합니다.

1. 커맨드 라인 인수 사용 예제

  1. 간단한 인수 출력 프로그램
public class CommandLineExample {
    public static void main(String[] args) {
        // args 배열의 길이 출력
        System.out.println("Number of arguments: " + args.length);

        // 각각의 인수를 출력
        for (int i = 0; i < args.length; i++) {
            System.out.println("Argument " + i + ": " + args[i]);
        }
    }
}

실행 예시

$ java CommandLineExample arg1 arg2 arg3
Number of arguments: 3
Argument 0: arg1
Argument 1: arg2
Argument 2: arg3
  1. 인수를 이용한 덧셈 프로그램
public class SumArguments {
    public static void main(String[] args) {
        if (args.length < 2) {
            System.out.println("Please provide at least two numbers.");
            return;
        }

        try {
            int sum = 0;
            for (String arg : args) {
                sum += Integer.parseInt(arg);
            }
            System.out.println("The sum of the arguments is: " + sum);
        } catch (NumberFormatException e) {
            System.out.println("Please provide valid integers.");
        }
    }
}

실행 예시

$ java SumArguments 5 10 15
The sum of the arguments is: 30
  1. 인수를 이용한 파일 읽기 프로그램
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class ReadFileFromArguments {
    public static void main(String[] args) {
        if (args.length < 1) {
            System.out.println("Please provide a file name.");
            return;
        }

        String fileName = args[0];
        try {
            File file = new File(fileName);
            Scanner scanner = new Scanner(file);
            while (scanner.hasNextLine()) {
                String line = scanner.nextLine();
                System.out.println(line);
            }
            scanner.close();
        } catch (FileNotFoundException e) {
            System.out.println("File not found: " + fileName);
        }
    }
}

실행 예시

$ java ReadFileFromArguments input.txt
(File content will be displayed here if input.txt exists)

2. 요약

  • String[] args를 통해 커맨드 라인 인수를 받을 수 있습니다.
  • 각 인수는 args 배열의 요소로 저장됩니다.
  • 필요한 경우 인수를 파싱하여 적절한 데이터 형식으로 변환할 수 있습니다.
  • 유효성 검사를 통해 사용자 입력의 오류를 처리할 수 있습니다.

위 예제들을 통해 Java 프로그램에서 커맨드 라인 인수를 어떻게 사용할 수 있는지 이해할 수 있습니다. 각 예제는 다른 시나리오를 다루며, 실제 프로그램에 적용할 수 있는 기초적인 패턴을 제공합니다.

반응형