0

私は ImageJ のプラグインを書いています。私のコードのこのセクションでは、最大数を含む配列内のインデックスを見つけたいと思っています。

int index1 =0;

    for(int k=1; k<array.length; k++)
    {
    IJ.showMessage("array[k] "+array[k]+" value "+value);    

    if (array[k]>value);
        {
                value = array[k];

                index1=k;

        }
    }

array[] は 20 インデックスの整数配列です。

コードがコンパイルされ、実行すると、一連のメッセージ ウィンドウに次のように表示されます。

  1. 「配列[k] 6037 値 2030」
  2. 「配列 [k] 11544 値 6037」
  3. 「配列 [k] 12287 値 11544」
  4. "array[k] 7369 value 12287" そして最後に:
  5. 「配列[k] 2873 値 7369」

> 演算子が正しく機能している場合、ステートメント 5 が反対の結果を示しているのはなぜですか?

お時間をいただきありがとうございます

ベイトマン

4

3 に答える 3

11

変化する

if (array[k]>value);

if (array[k]>value)
于 2013-02-28T10:59:55.313 に答える
3

「;」を削除します 列をなして

if (配列[k]>値) {

「;」条件が真の場合に実行される空のステートメントです。次の中括弧ブロックが実行されます。
Eclipse で checkstyle プラグインを使用すると、空のステートメントについて警告が表示されます。

于 2013-02-28T11:00:28.297 に答える
3

末尾に ; があります。あなたの場合の後。

于 2013-02-28T11:00:33.460 に答える