2017-04-19 6 views
-2

配列に指定された番号を表示するかどうかを指定する必要があります。たとえば Javaで番号を確認するにはどうすればいいですか

int[] number1 = {2,3,6,14,23,8,23,19}; 
int[] numbers2 = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}; 

は今、私はイエスその後、現在の数を印刷する場合number2の配列に存在する番号1の配列の要素かどうかを確認する必要があります。 これをJavaでどのように達成できますか?

マイコード:

int[] number1 = {2,3,6,14,23,8,23,19}; 
    int[] numbers2 = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}; 

for(int i=0; i<number2.length;i++){ 
    for(int j =0; j<number1.length:j++){ 
     if(number2[i]==number1[j]){ 
      System.out.println("present number is:"+number1[i]); 
     } 
    } 
} 
+0

で> jはどれ試してみてください....... – gifpif

+0

はい、私がしようとします、?プログラムを実行すると、number1配列の最初の値だけがチェックされます。 –

+1

コードを共有できますか? –

答えて

3

ループのネストされたが、あなたはそれを達成するのに役立ちます、基本的にnumber1の各番号について、あなたは値が存在するかどうかを確認するためにnumbers2を通過する必要があります。

for(int i: number1) { 
     for(int j: numbers2) { 
      if(i == j) { 
       System.out.println(i); 
       break; //exit the inner loop if the number is present 
      } 
     } 
    } 
1

これはループに使用して最初の配列を介して基本的な考え方

  1. 反復です。
  2. inner forループを使用して、2番目の配列の要素を反復処理し、値の比較を続けます。
  3. 値が見つかった場合は、それを印刷して内部ループから抜け出します。
0

のJava 8

int[] number1 = {2,3,6,14,23,8,55,23,19}; 
int[] numbers2 = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30}; 

Arrays.stream(numbers2) 
     .filter(num -> Arrays.stream(number1).anyMatch(e -> e == num)) 
     .forEach(System.out::println); 
1

変更私使用したとき、それはシンプルで清潔です - System.out.println("present number is:"+number1[j]);

関連する問題