for (int j =0; j < marks.size(); j++) {
analyzeTextArea.setText(j + marks.get(j));
}
上面的代码给了我以下错误:
required: java.lang.String found: int
for (int j =0; j < marks.size(); j++) {
analyzeTextArea.setText(j + marks.get(j));
}
上面的代码给了我以下错误:
required: java.lang.String found: int
我想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)));
这种情况仍然进行添加然后将其转换为 String 以尊重setText
参数类型。
有了这个 :
analyzeTextArea.setText("" + (j + marks.get(j)));
""
告诉参数将是一个字符串,然后你将连接j
和marks.get(j)
。因此,例如,对于第一个循环,您将有一些以0
现在setText
在循环中使用实际上没有意义,因为只会使用循环中设置的最后一个值,您可能应该使用JTextArea#append(String)。
你需要做这样的事情:
analyzeTextArea.setText("" + (j + marks.get(j)));
analyzeTextArea.setText(Integer.toString(j + marks.get(j)));
试试这个,
for (int j =0; j < marks.size(); j++) {
analyzeTextArea.setText(j + marks.get(j)+"");
}
这应该有效,但您应该使用 .append() 而不是 .setText()。因为 .setText() 删除之前的内容并写入。但是 .append() 只是添加信息