2

この機能を動作させたい。この関数はゲーム ループによって呼び出され、テーブル内の選択された行を取得します。次のエラー メッセージの理由がわかりません: この行に複数のマーカーがあります - 型の不一致: int から int[] に変換できません - トークン "[" の構文エラー、このトークンの後に式が必要です

関数 getRows を機能させるために変更する必要があることを誰かが説明できるかどうか疑問に思っています。お時間をいただきありがとうございます。またのご連絡をお待ちしております。

    public int[] getRows(JTable table) {    
    rows[0] = table.getSelectedRow();
    rowCount = table.getSelectedRowCount() - 1;
    rows[1] = rows[0] + rowCount;
    return rows[];
}
4

2 に答える 2

5

エラーは単純ですが、説明はそうではありません。

何を間違えたか: return rows[];. である必要がありますreturn rows;

説明:

配列を返したい場合は、括弧を追加しないでください。配列の 1 つの項目を返したい場合は、 と書く必要がありますreturn array[index];。あなたの場合、コンパイラが考えるのは、配列から 1 つの int を返そうとしているrowsが、インデックスを忘れているということです。これは構文エラーです。型の不一致は、メソッド ヘッダーで を返すと言ったためですint[](そして、コンパイラは を返そうとしていると考えましたint、覚えていますか?)。

于 2013-01-12T16:33:53.373 に答える
0
public int[] getRows(JTable table) {    
    rows[0] = table.getSelectedRow();
    rowCount = table.getSelectedRowCount() - 1;
    rows[1] = rows[0] + rowCount;
    return rows; //////////without brackets
}
于 2013-01-12T16:42:13.447 に答える