java - 处理命令行参数

标签 java parameters program-entry-point

我们有一个调用我的 Java 程序的 shell 脚本。 该脚本为定义的方法传递参数值 我的 Java 程序的主要方法。

参数的预期输入格式如下

"Test1, Test1_21APR15,XYZ,Test,Test, , , 2015-04-21"  
"Test2, Test2_21APR15,XYZ,Test,Test, , ,2015-04-21"   
"Test3,Test3_21APR15,XYZ, Test,Test, , ,2015-04-21"

以此类推,即每个字符串都有以逗号分隔的属性,字符串以空格分隔(这里我在下一行中提到,但实际值将以空格分隔)。

根据上面的输入值,我需要将值分配给局部属性,如下所示:

attr1 = Test1,Test2,Test3   
attr2 = Test1_21APR15,Test2_21APR15,Test3_21APR15  
attr3 = XYZ,XYZ,XYZ  
attr4 = Test,Test,Test   
.  
.  
.  
attr8 = 2015-04-21,2015-04-21,2015-04-21,

然后我需要在我的方法中处理这些参数。

我知道当您将参数传递给 main 方法时,它们被放置在 arg[] 数组中,但现在我在将参数值分配给属性时遇到问题。

有人可以给我一些指导吗?提前致谢。

最佳答案

如果您将每个集合传递为“,”分隔而不是像

这样的空格分隔
"Test1, Test1_21APR15,XYZ,Test,Test, , , 2015-04-21, Test2, Test2_21APR15,XYZ,Test,Test, , ,2015-04-21"

然后我们可以使用以下逻辑 这里“testnum”是我们指的输入行数,“teSTLen”是每行中的字符串数。

for(int i=0;i<testlen;i++){
 for(int j=0;i<testnum;j++){   
  attr[i]=attr[i]+args[j*testlen+i]
  if(j<testnum-1)
     attr[i]=attr[i]+",";
 }
} 

关于java - 处理命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29813986/

相关文章:

java - 如何在android中格式化和打印文本文件?

java - 适用于 Android 的 C++ 或 Java?

java - 运行我的应用程序时 Android Studio 出错

c - 传递数组而不是指向 C 中函数的指针

swift - 如何将 ?id=1 之类的内容附加到 NSMutableURLRequest

ruby-on-rails - 如何使用 `params[:user][:delete]` 向 Controller 发送类似 `check_box_tag` 的参数值?

java - LocateRegistry.createRegistry() 不能使应用程序保持 Activity 状态

python - 我应该在 main() 内部还是外部定义函数?

Java - Ubuntu 服务器文件未找到异常

c - 基本主菜单代码不起作用