Apache Commons CLI - Ứng dụng đầu tiên

Hãy tạo một ứng dụng dựa trên bảng điều khiển mẫu, có mục đích là lấy tổng các số đã chuyển hoặc phép nhân các số đã chuyển dựa trên các tùy chọn được sử dụng.

Tạo một lớp java có tên CLITester.

Thí dụ

CLITester.java

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
public class CLITester {
   public static void main(String[] args) throws ParseException {
      //***Definition Stage***
      // create Options object
      Options options = new Options();
      
      // add option "-a"
      options.addOption("a", false, "add numbers");
      
      // add option "-m"
      options.addOption("m", false, "multiply numbers");

      //***Parsing Stage***
      //Create a parser
      CommandLineParser parser = new DefaultParser();

      //parse the options passed as command line arguments
      CommandLine cmd = parser.parse( options, args);

      //***Interrogation Stage***
      //hasOptions checks if option is present or not
      if(cmd.hasOption("a")) {
         System.out.println("Sum of the numbers: " + getSum(args));
      } else if(cmd.hasOption("m")) {
         System.out.println("Multiplication of the numbers: " + getMultiplication(args));
      }
   }
   public static int getSum(String[] args) {
      int sum = 0;
      for(int i = 1; i < args.length ; i++) {
         sum += Integer.parseInt(args[i]);
      }
      return sum;
   }
   public static int getMultiplication(String[] args) {
      int multiplication = 1;
      for(int i = 1; i < args.length ; i++) {
         multiplication *= Integer.parseInt(args[i]);
      }
      return multiplication;
   }
}

Đầu ra

Chạy tệp, trong khi chuyển -a dưới dạng tùy chọn và các số để nhận tổng các số.

java CLITester -a 1 2 3 4 5
Sum of the numbers: 15

Chạy tệp, trong khi chuyển -m dưới dạng tùy chọn và các số để nhận kết quả là phép nhân các số.

java CLITester -m 1 2 3 4 5
Multiplication of the numbers: 120