0

我有一个 Java 程序,其中我需要接受数组中的命令行参数作为main方法的输入,然后需要将数组传递给同一程序中另一个类的构造函数。我需要知道如何全局声明数组,然后如何传递它并在构造函数中获取它。

谢谢

4

3 回答 3

1
public class Example{

  Example(String s[])
  { 
   AnotherClass ac = new AnotherClass(s);
  }
  public static void main(String[] args){
  int num=args.length;
  String s[]=new String[num]; 
  Example ex = new Example (s);`
  }
}

你可以创建AnotherClass

public class AnotherClass{
  AnotherClass(String s[])
  { 
   // array argument constructor
  }
}

您可以使用

javac Example.java

java Example

于 2012-10-19T18:20:25.063 回答
0
class SomeOtherClass{
   public SomeOtherClass(String[] args){
       this.arguments = args;
   }
   private String[] arguments;
}
class YourMainClass{

 public static void main(String[] args){
     SomeOtherClass cl = new SomeOtherClass(args);
    //fanny's your aunt
  }
}

这就是您可以将参数传递给 SomeOtherClass 的构造函数的方式。

于 2012-10-19T18:20:42.037 回答
0

在包含 main 方法的类中,您可以有一个类变量,例如:

String[] cmdLineArgs;

然后在主要方法中:

cmdLineArgs = new String[args.length];
this.cmdLineArgs = args;

然后只需实现一个将返回的getter cmdLineArgs。然后调用另一个构造函数:

YourObject x = new YourObject(yourFirstClass.getCmdLineArgs());

(当然,如果您从 main 方法调用此其他构造函数,则不需要所有这些步骤,您可以直接调用构造函数args

于 2012-10-19T18:21:05.667 回答