我似乎已经搜索了所有Google,我找不到任何关于如何使用命令行参数告诉Java程序执行哪个后续方法的内容。我正在尝试创建一个Java程序,其中包含学生评分应用程序的几个不同方面。
主程序是一个GUI表单,用户可以在该表单中为特定班级中的每个学生输入成绩。除此之外,我需要一个接受3个命令参数的控制程序。第一个是表示要加载的文件类型的数字(1. XML 2. JSON 3. TXT)。第二个是表示文件材料的字母(C表示课程数据,S表示学生数据)。最后一个参数是要上载的特定数据文件的名称,然后将其提取并上载到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();
}
}
}
我知道上面的代码是假的,但这是一般的想法。如何接受用户的命令参数,然后使用该输入来决定执行哪个方法?该程序是否会使用控制台窗口来接受用户输入?请帮忙!
答案 0 :(得分:0)
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 { // ...
}