黑马程序员技术交流社区

标题: java myeclipse怎么往main方法传参数啊??? [打印本页]

作者: 张甲甲    时间: 2013-5-16 22:36
标题: java myeclipse怎么往main方法传参数啊???
main方法如下
我想在代码执行时 给args[]传递值
求大神指点


public static void main(String[] arges){
     int iPara1,iPara2,iEnd;
     if(arges.length!=3)
     {
       System.out.println("USE :java flowDome parameter1 parameter2 circle");
       System.out.println("parameter1 : 比较条件1,数字类型");
       System.out.println("parameter2 : 比较条件2,数字类型");
       System.out.println("circle :循环次数");
       System.out.println("ego:java flowDome 1 2 5");
       return;
     }else
     {
       iPara1 = Integer.parseInt(arges[0]);
       iPara2 = Integer.parseInt(arges[1]);
       iEnd = Integer.parseInt(arges[2]);
     }


作者: 何俊森    时间: 2013-5-19 09:30
楼主你好,右键run as --> run configuration -->arguments
作者: 曹睿翔    时间: 2013-5-20 12:31
貌似问题解决了
要是解决及时更改问题状态,重新编辑为已解决
否则继续追问
作者: Changer_s    时间: 2013-5-22 08:19
楼主你好,右键run as --> run configuration -->Arguments
补充哈子,在Program argumentsn那一栏写你要传入的那个类中main方法:例如:cn.http.printArgument.TestArgument(包名+类名)
代码理解我发过来:
//第一种方法:调用另一个TestArgument类的main方法
TestArgument.main(new String[]{"111","222","333"});
//第二种方法:用Method方法的反射
String startClassName = args[0];
//我们要调用的是main,它的参数是String[],也就是说它只接受字符串类型的数组;
Method mainMethod = Class.forName(startClassName).getMethod("main", String[].class);
//new String[]{"111","222","333"}首先要进行拆箱(为什么要拆箱,跟jdk1.4版本有关),也就是3个参数,但是我要一个数组,所以:
//(方法1)我要告诉java编译器,我传进来的是就是数组,不需要拆箱了
mainMethod.invoke(null, (Object)new String[]{"111","222","333"});
//(方法1)我把它包两层,java编译器拆箱后,剩下的就是一个数组
mainMethod.invoke(null, new Object[]{new String[]{"111","222","333"}});

还有不会的联系我,我研究了3天,算是还行吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2