2015-12-06 5 views
0

У меня проблема с передачей нескольких массивов в конструктор. Можем ли мы на самом деле это или нет?Как передать несколько массивов в конструктор в java?

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 нет ошибки, но я не могу использовать ее в другом классе.

Буду признателен, если вы поможете мне.

ответ

1

Нет ничего плохого в передаче нескольких массивов в конструктор Java. Однако вы можете захотеть сделать копии массивов, которые вы проходите (с Arrays.copyOf()). Вы также должны серьезно подумать над созданием фактических данных массива private или protected.

0

Вопрос не очищается. Вы не можете использовать его на другом уровне. PLease очистить вопрос .. Но ниже код работает нормально .. вы можете проверить это.

общественного класса 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]); 
    } 

} 

}

+0

Я имею в виду им буду делать ввод программы с пользователем, а не мы поставить значение с первого раза. 'Сканер ss = новый сканер (System.in); int x; System.out.print («Сколько строк?»); x = ss.nextInt(); для (INT I = 0; г <х; я ++) { \t System.out.print ("А:"); а [I] = ss.nextString(); \t System.out.print ("B:"); б [I] = ss.nextString(); } Первого ФФ = новый первая (а, б); ' – Embek

+0

привет .. @Embek ... пожалуйста, проверьте код ниже .... – kaushik

+0

@Embek пожалуйста, проверьте мой первый анс. Он отлично работает. – kaushik

0

общественного класса 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]); 
    } 

} 

}

Смежные вопросы