gpt4 book ai didi

java - 如何以任意顺序给出命令行参数?

转载 作者:行者123 更新时间:2023-12-02 05:34:41 27 4
gpt4 key购买 nike

我有两个枚举,一个用于应用程序,一个用于环境。我希望能够以任何顺序给出这些参数,因此我可以给出 -app app1 app1 -env env1 env2 或 -env env1 env2 -app app1 app2。现在我只能做第一个。我还希望能够只说 -app app1 app2 ,它会运行我在所有环境中列出的所有应用程序,并且对于环境也是如此,但我更关心能够以任一顺序提供它们。

 for(int i = 0; i<args.length; i++)
{
if(args[i].equals("-app"))
{
indexOfApp = i;
}else if(args[i].equals("-env"))
{
indexOfEnv = i;
}
}

int countOfApp = -1;
int countOfEnv = -1;

if(indexOfApp != -1 && indexOfEnv != -1)
{
countOfApp = indexOfEnv - 1;
countOfEnv = args.length - (indexOfEnv + 1);
}


System.out.println(countOfApp);

System.out.println(countOfEnv);

for(int appIndex = indexOfApp + 1; appIndex < countOfApp + 1; appIndex++){
appList.add(args[appIndex]);

}
for(String item : appList )
{
Application app = Application.valueOf(Application.class, item);
appList2.add(app);
}
for(int envIndex = indexOfEnv + 1; envIndex < args.length; envIndex++){
envList.add(args[envIndex]);

}
for(String item : envList )
{
Environment env = Environment.valueOf(Environment.class, item);
envList2.add(env);
}

} System.out.println(appList); System.out.println(envList);
Application.chooseAppTest(appList2, envList2);

最佳答案

它可以更简单:

boolean isApp = false;
boolean isEnv = false;

for (int i = 0; i<args.length; i++) {
if (args[i].equals ("-app")) {
isApp = true;
isEnv = false;
} else if (args[i].equals ("-env")) {
isEnv = true;
isApp = false;
} else if (isEnv) {
envList.add(args[i]);
} else if (isApp) {
appList.add(args[i]);
}
}

关于java - 如何以任意顺序给出命令行参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25121307/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com