2017-03-16 21 views
-4

タスク:配列のサイズを示す整数を指定します。整数で配列を埋めます。 配列に互いに隣り合わない3つの同じ要素が含まれている場合はtrueを返します。 配列に同じ要素が3つ含まれていない場合、または配列が互いに隣接している場合はfalseを返します。行内に同じものが3つありません

public static boolean noThreeInRow(int [] array){ 

    for(int i = 0; i < array.length-1; i++){ 
     if(array.length < 3) System.exit(0); 
      if(array[i] != array[i+1]){ 
       return true; 
      }else return false; 
    }return true; 
} 

私はこの問題を解決できません。誰かが私を助けることができましたか?私は非常に初心者です!

+2

'if(array.length <3)System.exit(0);'はループ内にある必要はなく、JVMを終了する必要はありません。長さが3より小さい場合は、3つの行がありません。trueを返します。 –

+0

2回連続で行えますか? –

+0

ようこそスタックオーバーフロー! [ツアー](http://stackoverflow.com/tour)を見て回り、[ヘルプセンター](http://stackoverflow.com/help)、特に[どのように私に質問しますか良い質問?](http://stackoverflow.com/help/how-to-ask)と[ここで私はどのような話題を聞くことができますか?](http://stackoverflow.com/help/on-topic)。 –

答えて

0

各番号を比較するには、カウンタと2つのループを使用してみます。

int counter = 0; 
for(int i = 0; i < array.length-1; i++){ 
    if(array.length < 3) System.exit(0); 
     for (int j = 0; j < array.length-1; j++){ 
      if (array[i] == array [j+2]) counter ++ 
    } 
return true 
}return true; 

このようなことを試してください。しかし、ループ中にarray[i]の前に数字を処理する方法を理解する必要があります。ハッピーコーディング:)

+0

あなたは何を言っているのか分かりません。 – JanosKovacs911

関連する問題