【发布时间】:2015-09-22 18:06:35
【问题描述】:
您好,我想将两个数字串起来,如下面的代码所示:
tmp2 = Integer.toString(preresult) + tmp2.substring(2, tmp2.length());
Tmp2 是之前声明的字符串。 Preresult 是一个包含数字的整数。如果我打印这一行,它会添加两个值而不是字符串连接。
如果我将 Integer.toString(preresult) 更改为例如 Integer.toString(5) 它会按照我的意愿连接字符串。但是有 Integer.toString(preresult) 它会添加两个数字而不是字符串连接。
预结果代码:
preresult = Integer.parseInt(tmp2.substring(0, 1)) + Integer.parseInt(tmp2.substring(1, 2));
//它从 tmp2 中选择数字并将它们加在一起。如果我打印 preresult 它会给我一个 int(例如 9)
再次请帮我连接这两个字符串而不是添加它们:
tmp2 = Integer.toString(preresult) + tmp2.substring(2, tmp2.length());
java新手请见谅:)
【问题讨论】:
-
表达式
Integer.toString(preresult) + tmp2.substring(2, tmp2.length())肯定会连接Strings 和not 求和数字。请提供一个完整的例子来解释,是什么让你认为这里涉及算术。 -
感谢您的快速答复。我试过在 tmp2 = Integer.toString(preresult) + tmp2.substring(2, tmp2.length()); 前后打印。它不会连接这些值,而是添加它们。正如我之前所说,如果我将 interger.toString(preresult) 更改为 Integer.toString(6) 它会将它们连接起来。
-
它不会连接这些值,而是添加它们。 现在这只是一个不可能成立的声明。我们想帮助你弄清楚你是如何得出这个结论的。但为了做到这一点,我们需要更多的洞察力。请提供的不仅仅是代码 sn-ps。编辑您的问题并提供一个完整的
main用于测试的方法,包括许多System.out.println调用,以便打印中间结果并向我们展示,将那些println调用打印出来。这是我们可以合作的。 -
println(tmp2);在“连接线”之前和之后的输出是什么? -
没问题,我们喜欢帮助其他人解决编程问题。但是,下次请提供一个short、complete 和self-contained 示例。起初,您只提供了 1 行。这样我们就看不到相关部分(因为它不存在)。然后你走到了另一个极端,给了我们整个类,这是太多不相关的代码并且没有隔离代码(我们不知道,谁调用它以及如何调用它)。如果可能,尝试在一个示例中将您的问题重现为一个单一的、简短的
main方法,其中包含println调用、它们打印的内容以及您期望它们打印的内容。
标签: java string concatenation tostring parseint