for (int j =0; j < marks.size(); j++) {
analyzeTextArea.setText(j + marks.get(j));
}
上面的代码给出了以下错误:
required: java.lang.String found: int
答案 0 :(得分:3)
我猜marks.get(j)
给你一个整数。因此,当您执行j + marks.get(j)
时,您会将marks.get(j)
的值添加到j
的值中。
所以你以j + marks.get(j)
的结果以一个整数结尾。但是setText
期待一个字符串。
根据您的需要,您现在有几种可能性。
analyzeTextArea.setText(Integer.toString(j + marks.get(j)));
此案例仍会进行添加,然后将其转换为String以尊重setText
参数类型。
有了这个:
analyzeTextArea.setText("" + (j + marks.get(j)));
""
告诉参数将是一个字符串,然后您将连接j
和marks.get(j)
。因此,例如,对于第一个循环,您将拥有以0
现在在循环中使用setText
并没有多大意义,因为只使用循环中设置的最后一个值,你可能应该使用JTextArea#append(String)。
答案 1 :(得分:2)
你需要做这样的事情:
analyzeTextArea.setText("" + (j + marks.get(j)));
答案 2 :(得分:1)
analyzeTextArea.setText(Integer.toString(j + marks.get(j)));
答案 3 :(得分:1)
试试这个,
for (int j =0; j < marks.size(); j++) {
analyzeTextArea.setText(j + marks.get(j)+"");
}
答案 4 :(得分:1)
这应该有效但不是.setText(),你应该使用.append()。因为.setText()删除以前的内容并写入。但.append()只是增加了信息