我有一个Java程序,我需要接受数组中的命令行参数作为main
方法中的输入,然后需要将该数组传递给另一个类的构造函数同一个程序。我需要知道如何在全局声明数组,然后如何传递它并将其携带到构造函数中。在Java中的类之间传递命令行参数
感谢
我有一个Java程序,我需要接受数组中的命令行参数作为main
方法中的输入,然后需要将该数组传递给另一个类的构造函数同一个程序。我需要知道如何在全局声明数组,然后如何传递它并将其携带到构造函数中。在Java中的类之间传递命令行参数
感谢
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
我不能从Main()方法调用AnotherClass,但我需要从Example类的构造函数中调用它,并且我有2个数组。所以你首先需要将main()方法中的2个数组传递给Example类的构造函数,然后从构造函数中调用AnotherClass和数组?如果可能,你可以告诉我怎么做 – user1760174
检查编辑。 – vikiiii
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的构造函数。
在你的类,它包含的主要方法,你可以有一个像类变量:
String[] cmdLineArgs;
然后在主方法:
cmdLineArgs = new String[args.length];
this.cmdLineArgs = args;
,然后只实现一个getter将返回cmdLineArgs
。然后调用另一个构造函数:
YourObject x = new YourObject(yourFirstClass.getCmdLineArgs());
(如果你调用从课程的主要方法,这等构造,你并不需要所有这些步骤,你可以调用构造函数与args
直接)
为什么你认为你需要在全局声明数组(在java中它的'public')来传递它在任何构造函数中?既然你将从main方法本身调用'constructor',你可以将你得到的数组作为命令行参数传递给构造函数。 –
不要考虑使用全局变量。关于将信息传递给构造函数,您可以为接受类的构造函数提供一个接受数据的参数,并在调用此构造函数时将其传入。 –