2017-05-26 8 views
4

ループ内の変数で配列のサイズをとっています。たびに、その変数と等しい配列のサイズを割り当て、そのサイズに等しい整数を取る必要があります。例えば:私は、Javaに新しいですと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(); 
    } 
} 

私に最も効率的な方法を提供してください:)

+0

理由(I = 0; iがN <;私は++)のために、この最初のループ ''? –

+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(); 
    } 
} 
関連する問題