web-dev-qa-db-ja.com

Netbeansが私のJavaコードで「二項演算子のオペランドを反転する」ことを提案しているのはなぜですか?

Netbeansは、数学計算を行うときに「二項演算子のオペランドを反転する」ことを頻繁に提案します。たとえば、次のコード行では次のようになります。

    change = 100 - price;

    quarters = change / 25;
    dimes = change % 25 / 10;
    nickels = change % 25 % 10 / 5;
    pennies = change % 25 % 10 % 5;

Netbeansは、すべての数学記号について提案を行います(したがって、「ペニー」行で3回提案します。

なぜそれが提案をしているのか理解できません。除算の実行中にオペランドを反転すると、異なる結果が得られます(「反転」が、2つの値の順序を切り替えるという、私が考えることを意味する場合)。なぜそれがこれを示唆しているのですか?

9
Lauren Stephen

これがオペランドをすばやく反転するためのNetbeans機能であるというあなたの考えは正しいです。これは、Javaヒント( http://wiki.netbeans.org/Java_Hints )で利用できる、比較的少数の「提案/アクション」の1つです。より多くの「ヒント/検査」。

Netbeans 8.2では、スニペットのペニー行でAlt + Enterキーを押すと、「 '%'のオペランドを反転する(セマンティクスが変更される可能性があります)」というメニューオプションがあることを確認しました。複数の二項演算子があるためです。オペランドを反転することを選択した場合、ヒントは残り、同じ方法で何度も何度も反転できます。

どうやらNetbeansは、少なくともこのタイプの演算子のオペランドを反転するとセマンティクスが変わる可能性があることを認識できるほど賢いようです(動作については触れていませんが)。 '=='の場合、その警告は表示されません。

1
McKay G