第一个应用程序( First Application)

优质
小牛编辑
129浏览
2023-12-01

让我们创建一个基于控制台的示例应用程序,其目的是根据所使用的选项获取传递数字的总和或传递数字的乘法。

创建一个名为CLITester的java类。

例子 (Example)

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;
   }
}

输出 (Output)

传递-a作为选项和数字运行文件,以获得数字的总和作为结果。

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

在传递-m作为选项和数字时运行该文件以获得数字的乘法结果。

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