如何在java中将多个数组传递给构造函数?

时间:2015-12-06 03:58:45

标签: java arrays constructor

我在将多个数组传递给构造函数时遇到问题。 我们真的可以这样做吗?

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中,没有错误,但我无法在另一个类中使用它。

如果你能帮助我,我会感激不尽。

3 个答案:

答案 0 :(得分:1)

将多个数组传递给Java构造函数没有任何问题。但是,您可能需要考虑复制要传入的数组(使用Arrays.copyOf())。您还应该认真考虑制作实际的数组数据privateprotected

答案 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]);
    }

}

}