2017-06-06 11 views
0

シーケンスが真であるかどうかはどのようにして判断できますか? は、私はこのコード文またはループならば、私がもし/とき= 1、B = 2、C = 3(または、Bのいずれかの組み合わせを決定するために使用する方法スケープが真であるかどうかを確認する

int a = random.nextInt(10); 
int b = random.nextInt(10); 
int c = random.nextInt(10); 

を考えてみましょうcは1つの数字だけ離れています.4,5,6または7,8,9のように)は、

+0

あなたが望むものについて少し正確にする必要があります。 (a = 5、b = 4、c = 3) - それは真か偽であるべきか? (a = 3、b = 1、c = 2)はどうですか?条件がより正確であるかどうかについてもっと考えなければなりません。そうすれば、それらを計算する方法の手がかりを得ることもできます。 – yshavit

答えて

1

次の2つの数字の間の距離が1に等しいかどうかを確認することができる:配列として

if(b-a == 1 && c-b == 1) 
+0

OPの説明から、私は(5、4、3)も真であると評価しなければならないと考えていますが、これは処理できません。私は(3,1,2)も真実でなければならないと思います。そして、私は(5、5、5)については分かりません。 – yshavit

+0

はい、基本的に1,2,3または4,5,6などの順序にある​​ものです。 5,5,5または7,7,7 –

0
int min = Math.min(a, Math.min(b, c)); 
boolean isSequence = Arrays.equals(IntStream.range(min, min+3).toArray(), new int[]{a,b,c}); 

移入配列(範囲)および(配列として)元の値と比較

0

Iそれが似ていると思います。

public static boolean checker() { 
    // you can do this without worrying about overflow 
    // because nextInt method generates a number btw 0(inclusive) and 10(exclusive) 
    return (b-a == 1 && c-b == 1) || (b-a == -1 && c-b == -1); 
    //   1, 2, 3   or   3, 2, 1 
} 
関連する問題