Java 奇怪的 Integer.parseInt 问题(java 的新问题)
Java weird Integer.parseInt issue (new to java)
你好,我想像下面的代码一样连接两个数字:
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 中挑选数字并将它们相加。如果我打印预结果,它会给我一个整数(例如 9)
再次请帮我连接这两个字符串而不是相加:
tmp2 = Integer.toString(preresult) + tmp2.substring(2, tmp2.length());
新人java请手下留情:)
您是否正在寻找此类操作
class String1
{
public static void main(String args[])
{
int a = 100;
int b = 200;
String s1 = Integer.toString(a);
String s2 = Integer.toString(b);
System.out.println(s1+s2);
}
}
输出 - 100200
您给我们的那行 确实 连接了 String
,但您可能感到困惑,因为前面的行对它们求和:
// tmp2 == "45" (taken from your comment)
preresult = Integer.parseInt(tmp2.substring(0, 1)) + Integer.parseInt(tmp2.substring(1, 2));
// |------ "4" -------| |-------- "5" -----|
// |--------------- 4 -----------------| |------------------ 5 --------------|
// preresult == 4 + 5 == 9
println(tmp2); // prints the "45" (unchanged)
tmp2 = Integer.toString(preresult) + tmp2.substring(2, tmp2.length());
// |-- 9 --| |"45"|
// |----------- "9" ---------| |------------- "" -------------|
// tmp2 == "9" + "" == "9"
println(tmp2); // prints "9"
因此,您的第一行 将两位数 4 和 5 相加,结果为 9。您给我们的那一行只是连接了结果 "9"
(如 String
) 与另一个空 String
因此保留 "9"
.
你好,我想像下面的代码一样连接两个数字:
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 中挑选数字并将它们相加。如果我打印预结果,它会给我一个整数(例如 9)
再次请帮我连接这两个字符串而不是相加:
tmp2 = Integer.toString(preresult) + tmp2.substring(2, tmp2.length());
新人java请手下留情:)
您是否正在寻找此类操作
class String1
{
public static void main(String args[])
{
int a = 100;
int b = 200;
String s1 = Integer.toString(a);
String s2 = Integer.toString(b);
System.out.println(s1+s2);
}
}
输出 - 100200
您给我们的那行 确实 连接了 String
,但您可能感到困惑,因为前面的行对它们求和:
// tmp2 == "45" (taken from your comment)
preresult = Integer.parseInt(tmp2.substring(0, 1)) + Integer.parseInt(tmp2.substring(1, 2));
// |------ "4" -------| |-------- "5" -----|
// |--------------- 4 -----------------| |------------------ 5 --------------|
// preresult == 4 + 5 == 9
println(tmp2); // prints the "45" (unchanged)
tmp2 = Integer.toString(preresult) + tmp2.substring(2, tmp2.length());
// |-- 9 --| |"45"|
// |----------- "9" ---------| |------------- "" -------------|
// tmp2 == "9" + "" == "9"
println(tmp2); // prints "9"
因此,您的第一行 将两位数 4 和 5 相加,结果为 9。您给我们的那一行只是连接了结果 "9"
(如 String
) 与另一个空 String
因此保留 "9"
.