2016-08-04 17 views
-4
私がやろうとしています何
int[] Array1 = {1,2,3,4,5,6,7,8,9,10};  
int pattern =0; 
int first = 1; 
for(int i=0; i<10;i+=2) 
{ 
    if(Array1[i] + Array1[first] > 7) 
    { 
     pattern ++; 
    } 
    first+=2; 
} 
System.out.println("The total number of patterns: " + pattern); 

:プラス隣接する数字と、それは印刷1パターンであるなどなぜ4パターンは印刷されませんか?

なぜそれが4つのパターンが印刷されない場合は、それ以上7であるかどうかを確認しますか?

+0

このためのチュートリアルへのリンクが3を印刷する必要がありますのみ5 + 6、+ 8 7、および9 + 10あなたは '> ='を使用して比較した場合は4になるだろう> 7.ありますさ。 – lurker

+0

その3 ... –

+0

隣接しているので2 + 3,4 + 5,6 + 7,8 + 9など隣接していないと言いましたか?あなたが書いたものがあなたが期待していることを確認したいだけです。 –

答えて

0

アレイは、したがって、あなたのパターンを行い、0インデックスから始まる次

1 + 2 = 3

(Array1[0] + Array1[1])

3 + 4 = 7(7以上)(より小さい7、>=

(Array1[2] + Array1[3])

5 + 6 = 11(大)7以下を表すことになりますあなたが見ることができるように7)

7 + 8 = 15(7より大きい)

9 + 10 = 19(7より大きい)

は、結果の唯一3より大きい7

よりも
0

forループの開始後にこの行を追加します。

System.out.println(Array1[i] + "+" + Array1[first] + "=" + (Array1[i] + Array1[first]));

それはあなたのコードで何が起こっているかを説明します。出力は::あろう

1 + 2 = 3

3 + 4 = 7

5 + 6 = 11

7 + 8 = 15

9+ 10 = 19

パターンの総数:3

3回しか見えないので、パターンは7より大きくなります。したがって、出力します。あなたは、Eclipseを使用する場合

あなたはブレークポイントを追加し、コードの流れを理解することができます。ここでdebugging in eclipse

関連する問題