2017-05-26 72 views
4

我正在一個循環中的變量數組的大小。每次我必須指定數組的大小等於該變量,然後取整數等於該大小。例如:如何在Java中循環初始化數組?

for(i = 0; i < N; i++) 
{ 
    variable = sc.nextInt(); 
    int []array = new int[variable]; 
    for(j = 0; j < variable; j++) 
    { 
     array[j] = sc.nextInt(); 
    } 
} 

請給我提供了最有效的方法,因爲我是新來的Java :)

+0

爲什麼這個第一環路'爲(I = 0; I

+0

ArrayList是否足夠? –

+6

「請爲我提供最有效的方法,因爲我是java的新手:)」StackOverflow不是您發佈問題並獲取代碼的網站。請解釋您目前的實施情況有什麼問題,我們可能會提供幫助。 – Turing85

回答

1

也許需要這樣的事情:

List<int[]> list = new ArrayList<>();//create a list or arrays 
for (int i = 0; i < n; i++) { 

    int variable = sc.nextInt(); 
    int[] array = new int[variable]; 
    for (int j = 0; j < variable; j++) { 
     array[j] = sc.nextInt(); 
    } 

    list.add(array);//add your array to your list 
} 
-1
for(i=0;i<N;i++) 
{ 
    variable = sc.nextInt(); 
    ArrayList array = new ArrayList(variable) 
    for(j=0;j<variable;j++) 
    { 
     int input = sc.nextInt() 
     array.add(input); 
    } 
} 

如果一個ArrayList的作品,這是我怎麼會做它。

+3

OP要求進行數組初始化,因此這不是答案。 – Turing85

0

您可以創建數組列表並在外循環中初始化它們,並使用位置ij將值添加到數組。

// initialize list with n, though you can also use 2D array as well 
List<int[]> array = new ArrayList<>(n); 

for (int i = 0; i < n; i++) { 
    variable = sc.nextInt(); 

    // create an array and add it to list 
    array.add(new int[variable]); 

    for (int j = 0; j < variable; j++) { 
     // fetch the array and add values using index j 
     array.get(i)[j] = sc.nextInt(); 
    } 
}