我在将多个数组传递给构造函数时遇到问题。 我们真的可以这样做吗?
public class First {
public String[] a;
public String[] b;
public First(String[] a, String[] b){
this.a=a;
this.b=b;
}
}
接下来的代码就是我使用First类的地方。
Scanner ss = new Scanner(System.in);
int x;
System.out.print("How many lines? ");
x = ss.nextInt();
for(int i=0; i<x; i++){
System.out.print("A: "); a[i]=ss.nextString();
System.out.print("B: "); b[i]=ss.nextString();
}
First ff= new First(a,b);
在NetBeans中,没有错误,但我无法在另一个类中使用它。
如果你能帮助我,我会感激不尽。
答案 0 :(得分:1)
将多个数组传递给Java构造函数没有任何问题。但是,您可能需要考虑复制要传入的数组(使用Arrays.copyOf()
)。您还应该认真考虑制作实际的数组数据private
或protected
。
答案 1 :(得分:0)
该问题未被清除。你不能在另一类手段上使用它。请清除您的问题..但是下面的代码工作正常......您可以查看它。
public class MultipleArr {
String a[];
String b[];
public MultipleArr(String[] a, String[] b)
{
this.a=a;
this.b=b;
}
public static void main(String[] args) {
String [] a={"1","2","3"};
String [] b={"2","2","3"};
MultipleArr arr=new MultipleArr(a,b);
for(int i=0;i<arr.a.length;i++)
{
System.out.println(arr.a[i]);
}
for(int i=0;i<arr.b.length;i++)
{
System.out.println(arr.b[i]);
}
}
}
答案 2 :(得分:0)
public class MultipleArr {
String a[];
String b[];
public MultipleArr(String[] a, String[] b)
{
this.a=a;
this.b=b;
}
public static void main(String[] args) {
String [] a;
String [] b;
Scanner ss = new Scanner(System.in);
int x;
System.out.print("How many lines? ");
x = ss.nextInt();
a=new String[x];
System.out.print("A: ");
for(int i=0; i<x; i++)
{
a[i]=ss.next();
}
b=new String[x];
System.out.print("B: ");
for(int i=0; i<x; i++)
{
b[i]=ss.next();
}
MultipleArr arr=new MultipleArr(a,b);
for(int i=0;i<arr.a.length;i++)
{
System.out.println(arr.a[i]);
}
for(int i=0;i<arr.b.length;i++)
{
System.out.println(arr.b[i]);
}
}
}