我确定这是一个愚蠢的问题,但是我是java
的新手。
谁能看到此问题的可能原因?
ArrayList<String> timesTableContent = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
timesTableContent.add(Integer.toString(timesTable + " X " + i + " = " + i * timesTable));
答案 0 :(得分:3)
Integer.toString()
将整数对象转换为字符串。
timesTable + " X " + i + " = " + i * timesTable
本身返回一个字符串值。因此,您可以将其直接添加到您的代码中,如下所示:
ArrayList<String> timesTableContent = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
timesTableContent.add(timesTable + " X " + i + " = " + i * timesTable);
在您的代码中,您正在通过实际上接受Integer值的方法传递字符串对象。这就是整个问题。
答案 1 :(得分:3)
编辑:当方法仅接受Integer时,您正在对String调用Integer.toString()。这就是为什么收到您提供的错误消息的原因。
我相信您在括号中放了一点点。
您可以使用以下内容构建所需的字符串:
ArrayList<String> timesTableContent = new ArrayList<>();
int timesTable = 2;
for (int i = 1; i <= 10; i++) {
timesTableContent.add(timesTable +
" X " +
i +
" = " +
(i * timesTable));
}
答案 2 :(得分:2)
您为什么使用Integer.toString
通话?尝试将其删除。
答案 3 :(得分:0)
尝试使用Integer.toString()
连接整数而不是String.valueOf()
代替
ArrayList<String> timesTableContent = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
timesTableContent.add(Integer.toString(timesTable + " X " + i + " = " + i * timesTable));
替换此
ArrayList<String> timesTableContent = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
timesTableContent.add(timesTable + " X " + String.valueOf(i) + " = " + String.valueOf(i * timesTable)));
}
但是不要使用它
只是串联而不转换它。谢谢