2016-10-23 7 views
0

array long pair[]を印刷すると、空のスロットに0が追加されます。なにが問題ですか?どんな助けも歓迎です。ゼロ配列がJavaプログラムの配列に追加されています

for (int i = 0; i < n; i++) { 
    for (int j = i + 1; j < n; j++) { 
     diff = arr[j] - arr[i]; 
     if (ndiff == diff) { 
      pair[x] = arr[i]; 
      x++; 
      pair[x] = arr[j]; 
      x++; 
     } 
    } 
} 

for(i=0;i!=pair.length;i++){ 
    System.out.print(pair[i]+" "); 
} 
+1

あなたは空のスロットが含まれていることを期待したのは何? 0は数値プリミティブ型のデフォルト値です。 nullを好む場合は、int []の代わりにInteger []を使用します。 – Eran

+0

Javaでは、すべての型にデフォルト値があります。プリミティブ 'long'では、デフォルトは' 0'です。あなたは何を期待しましたか? –

+1

@Eranは、プリミティブなものよりも 'Object []'の方がはるかに速いペナルティがあることに気づく価値があります。 –

答えて

0

あなたがpairに入れた値のみを印刷したい場合は、あなたのforループはインデックスのみx-1を持つ要素まで実行する必要があります:

for(i=0; i < x; i++){ 
    System.out.print(pair[i]+" "); 
} 
+0

ありがとう – sandy1603

関連する問題