请教一下,java程序带参数运行的参数获取方法 比如写了一个程序为mywork,运行的时候想在后面加上一个操作参数"-operation",请问这个参数在程序中该怎么获得,我想根据这个参数的不同进行不同的操作。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 class Hello{ public static void main(String[] args) { System.out.println("args[0] = " + args[0]); }}调用时 >Hello World输出为 >args[0] = World依此类推:args[] 是个字符串数组,以空格分隔>Hello Big World;此时args[0] = Big;args[1] = World; public static void main( String[] args ) { checkArgs( args ); } private static void checkArgs( String[] args ) { if( args == null || args.length == 0 ) { //无参数运行 return; } int num = args.length; MakeSourceFilesToolkit toolkit; switch( num ) { case 1://一个参数 doSomethin( args[0] ); return; case 2://两个参数 doSomething( args[0], args[1]); break; case 3://三个参数 doSomethin( args[0], args[1], args[2]); default://参数错误 println( "Arguments error!" ); return; } } 直接加在后面就可以吧,比如java edu.scofield.rmi.client.HelloClient start public static void main(String[] args)这是主程序的入口,其中main函数就带着形参,这个形参显然是一个String数组,如果你的程序名为Test当输入Test 1 2 3 4 ... n时那么系统就会自动的把1到n当成字符串付给args数组如下public class Test{public static void main(String[] args){ int length = args.length; //注意是length不是length() for(int i = 0; i < length ; i ++) { System.out.println(args[i]); }}}===============================javac Test.javajava Test 1 2 3 4 5 6 7 8 9 10 11 12========================================123456789101112 参数。。我只会在命令控制台的那种。eclipse中还不会,因为他都给自动运行了。javac Test.java 1 2 3 在程序中想要得到也很简单啊。比如像这三个参数1 2 3在程序中就可以这么得到。int i = Integer.parseInt(args[0]); -----------------------------------------依次类推就得到了。因为在控制台输入的都是作为字符串传入,所以如果数据类型不是字符串就要转换下。根据参数的不同进行不同的操作可以用 : switch(Integer.parseInt(args[0]){ }只有得到了。怎么用都行了。不知道lz是不是想要这个意思。 我使用下面的语句,为什么每次只能把最后一个参数?for (int i=0; i<args.length; i++){ System.out.println("the commend is :"+args[i]); } 我这个是在eclipse里面做的,应该是9楼哥们说的自动加行的问题 应该不会吧。这样应该能得到。。由于csdn的延迟,导致我刚才多发了一条。 for(int i=0;i<args.length;i++) { if(args[i].equalsIgnoreCase("a")) { //执行内容或是调用什么什么方法 }else if(args[i].equalsIgnoreCase("b")) { //执行内容或是调用什么什么方法 } }你就在编译时 java mywork.java a或b 就行了 运行:java YourMainClass 参数1 参数2 "带空格 的参数3" 参数4获取:public static void main(String[] args) { for (String arg : args) { System.out.println(arg); }} 不太明白楼主的意思,要是命令行传入java mywork * * *在eclipes中run—>run—>Arguments(写参数) —>run如果是方法调用在()里指明就行了 我是带着参数运行程序,当参数为start的时候,启动一个线程,不断运行,当参数为stop的时候则这个线程关闭,这个该怎么做的 Java中的访问权限 在Netbeans 中导入了TableExample.jar这个文件 但是要怎么调用啊 JAVA 反射机制 window里环境变量的问题 jScrollPanel.getViewport().add(tree,null) 关于自定义的classloader的问题。 急!如何使用Timer 中的 cancel 高分求教applet的路径问题;急! 使用JDBC连接DB2(Rs\6000、AIX)出现问题,附源码!请指教? HttpClient 某一时刻会read time out 有没有用java读excel文件的开发包 [请教]关于static变量的使用场合的问题
public static void main(String[] args)
{
System.out.println("args[0] = " + args[0]); }
}调用时 >Hello World
输出为 >args[0] = World依此类推:args[] 是个字符串数组,以空格分隔
>Hello Big World;
此时args[0] = Big;
args[1] = World;
public static void main( String[] args )
{
checkArgs( args );
} private static void checkArgs( String[] args )
{
if( args == null || args.length == 0 )
{
//无参数运行
return;
}
int num = args.length;
MakeSourceFilesToolkit toolkit;
switch( num )
{
case 1://一个参数
doSomethin( args[0] );
return;
case 2://两个参数
doSomething( args[0], args[1]);
break;
case 3://三个参数
doSomethin( args[0], args[1], args[2]);
default://参数错误
println( "Arguments error!" );
return;
}
}
java edu.scofield.rmi.client.HelloClient start
这是主程序的入口,其中main函数就带着形参,这个形参显然是一个String数组,如果你的程序名为Test
当输入
Test 1 2 3 4 ... n时那么系统就会自动的把1到n当成字符串付给args数组
如下public class Test
{
public static void main(String[] args)
{
int length = args.length; //注意是length不是length()
for(int i = 0; i < length ; i ++)
{
System.out.println(args[i]);
}
}
}
===============================
javac Test.java
java Test 1 2 3 4 5 6 7 8 9 10 11 12
========================================
1
2
3
4
5
6
7
8
9
10
11
12
我只会在命令控制台的那种。eclipse中还不会,因为他都给自动运行了。
javac Test.java 1 2 3
在程序中想要得到也很简单啊。
比如像这三个参数1 2 3
在程序中就可以这么得到。
int i = Integer.parseInt(args[0]); -----------------------------------------依次类推就得到了。
因为在控制台输入的都是作为字符串传入,所以如果数据类型不是字符串就要转换下。根据参数的不同进行不同的操作可以用 :
switch(Integer.parseInt(args[0]){ }
只有得到了。怎么用都行了。
不知道lz是不是想要这个意思。
for (int i=0; i<args.length; i++){
System.out.println("the commend is :"+args[i]);
}
由于csdn的延迟,导致我刚才多发了一条。
{
if(args[i].equalsIgnoreCase("a"))
{
//执行内容或是调用什么什么方法
}else if(args[i].equalsIgnoreCase("b"))
{
//执行内容或是调用什么什么方法
}
}
你就在编译时 java mywork.java a或b 就行了
获取:public static void main(String[] args) {
for (String arg : args) {
System.out.println(arg);
}
}
要是命令行传入java mywork * * *
在eclipes中run—>run—>Arguments(写参数) —>run
如果是方法调用在()里指明就行了