質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

6回答

6636閲覧

Javaでの3つの値の比較の書き方

sasaking

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

1クリップ

投稿2018/06/11 02:37

内容を簡単にしたものを書きます
Int[] array ={1,1,1};
If(array[0] == array ==[1] == [2])

3つの値が等しかったらという条件を作りたいです

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

ベストアンサー

java

1public boolean allSame(int[] array) { 2 if (array.length == 0) return true; 3 int x = array[0]; 4 for (int i : array) { 5 if (i != x) return false; 6 } 7 return true; 8}

メソッド化して汎用的にしてみました。

Streamを使うとこうなるか

java

1if (Arrays.stream(array).allMatch(i -> i == array[0]))

投稿2018/06/11 02:56

編集2018/06/11 02:59
swordone

総合スコア20651

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/11 04:25 編集

if (Arrays.stream(array).distinct().count() <= 1) という書き方もあります。
guest

0

こんな書き方も。

if((array[0]==array[1]) ? (array[0]==array[2]) : false){

投稿2018/06/11 02:52

tkturbo

総合スコア5572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

If(array[0] == array[1] && array[0] == array[2])

投稿2018/06/11 02:41

y_waiwai

総合スコア87774

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

(x, y , z) -> (y - x, z - x) と x を原点にした vector をつくります。
この vectore の長さが 0 であれば、 x, y, z がすべて等しいことになります。
長さを 3平方の定理でもとめるおは計算業がおおくなるので、 abs(y - x) + abx(z - x) で代用できます。

3 変数以上の場合にもそのまま拡張できます。

abs 計算も面倒なら、 [y -x, z -x] の uniq をとったら [0] になることで代用するのも良いかもしれません。

投稿2018/06/11 12:44

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

比較対象(複数可)が同一であることのチェック
対象すべてが一致するということはソート後の最小と最大が同一であることと同じ

static void main(int...params) { Arrays.parallelSort(params); if (params[0] == params[params.length -1]) { System.out.println("一致"); } else { System.out.println("不一致"); } }
main(1,1,1); // 一致 main(2,1,1); // 不一致 main(1,2,1); // 不一致 main(1,1,2); // 不一致 main(2,1,2); // 不一致

投稿2018/06/11 03:35

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/06/11 03:42

まともに利用する場合は引数の個数チェックは実装してください。
HogeAnimalLover

2018/06/11 14:34

ソートのオーダは準線形なので、線形オーダ処理のためにソートを使うのは非効率です。 もちろん計算量の観点ではないのでしょうが、念の為。
guest

0

こんにちは、要素数が3の時は&&を使えばすみますが、一応要素数がいくらになっても対応できるようにしてみました。

java

1public class Main { 2 public static void main(String[] args) { 3 // Your code here! 4 int[] array ={1,1,1}; 5 boolean judge = false; 6 7 for(int i = 0; i < array.length - 1; i++){ 8 if(array[i] == array[i + 1]){ 9 judge = true; 10 } 11 else{ 12 judge = false; 13 break; 14 } 15 } 16 System.out.println(judge); 17 } 18}

投稿2018/06/11 03:02

編集2018/06/11 03:03
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問