1
for (int j =0; j < marks.size(); j++) {
    analyzeTextArea.setText(j + marks.get(j));
}

上記のコードでは、次のエラーが表示されます。

required: java.lang.String found: int
4

5 に答える 5

3

私はmarks.get(j)あなたに整数を与えると思います。そのため、 の値に のj + marks.get(j)値を追加します。marks.get(j)j

したがって、 の結果として Integer で終了しますj + marks.get(j)。しかしsetText、文字列を期待してください。

ニーズに応じて、いくつかの可能性があります。

analyzeTextArea.setText(Integer.toString(j + marks.get(j)));

setTextこの場合でも、追加を行ってから、パラメーターの型を尊重するためにそれを String に変換します。

これとともに :

analyzeTextArea.setText("" + (j + marks.get(j)));

""パラメータが文字列になることを示し、次に and を連結jmarks.get(j)ます。たとえば、最初のループでは、0

ループで設定された最後の値のみが使用されるため、ループでの使用setTextはあまり意味がありません。おそらくJTextArea#append(String)を使用する必要があります。

于 2012-05-26T18:01:38.233 に答える
2

次のようなことをする必要があります:

analyzeTextArea.setText("" + (j + marks.get(j)));
于 2012-05-26T17:38:47.280 に答える
1
analyzeTextArea.setText(Integer.toString(j + marks.get(j)));
于 2012-05-26T17:39:42.133 に答える
1

これを試して、

for (int j =0; j < marks.size(); j++) {
    analyzeTextArea.setText(j + marks.get(j)+"");
    }
于 2012-05-26T17:40:49.167 に答える
1

これは機能するはずですが、.setText() の代わりに .append() を使用する必要があります。.setText() は以前の内容を削除して書き込むためです。しかし .append() は情報を追加するだけです

于 2016-04-28T08:30:19.543 に答える