如何使用命令行参数来指示程序流程?

How to Use Command Line Arguments to Dictate Flow of Program?

我似乎已经搜索了所有 Google,但我找不到任何关于如何使用命令行参数来告诉 Java 程序执行哪个后续方法的信息。我正在尝试创建一个 Java 程序,其中包含学生评分应用程序的几个不同方面。

主程序是一个 GUI 表单,用户可以在其中输入特定 class 中每个学生的成绩。除此之外,我还需要一个接受 3 个命令参数的控制程序。第一个是一个数字,表示要加载的文件类型 (1. XML 2. JSON 3. TXT)。第二个是字母表示文件material(C表示Course数据,S表示Student数据)。最后一个参数是要上传的特定数据文件的名称,然后将其提取并上传到数据库以供 GUI 程序使用。

除了命令参数之外,我已经对程序的其余部分进行了编码,因为我完全不知道自己在做什么。命令参数代码应该看起来像这样

public class Load
{
    //Define global variables
    static String inputDataChoice;
    static String inputTableChoice;
    static String inputFileName;

    public static void main(String[] arg)
    {
        if (userChose == arg[0], arg[3], arg[5])
        {
            //If user chose 1 (XML), S (Student), and xmltest.xml
            //Go to ParseXMLStudentFile();
        }

        if (userChose == arg[1], arg[4], arg[6])
        {
            //If user chose 2 (JSON), C (Course), and jsontest.json
            //Go to ParseJSONCourseFile();
        }

        if (userChose == arg[2], arg[3], arg[7])
        {
            //If user chose 3 (TXT), S (Student), and test.txt
            //Go to ParseTXTStudentFile();
        }
    }
}

我知道上面的代码是伪造的,但这是一般的想法。我如何接受来自用户的命令参数,然后使用该输入来决定执行哪个方法?这个程序会使用控制台 window 来接受用户输入吗?请帮忙!

arg 包含传递给命令行的参数,即如果您使用 prog.jar XML S xmltest.xml:

调用 prog
String fileType = arg[0]; // == XML
String material = arg[1]; // == S
String fileName = arg[2]; // == xmltest.xml
if (fileType.equals("XML") && material.equals("S")) {
    parseXMLStudentFile(fileName);
} else { // ...
}