【发布时间】:2021-12-15 08:36:52
【问题描述】:
我希望字符串 b 中每个字符的数组 num cosist 像这样:
num[0] = 9;
num[1] = 1;
num[2] = 1;
num[3] = 9;
但不知何故,9 变成了 57,而 1 变成了 1。我不明白为什么。当我打印出b.charAt(i) 时,数字是正确的,但是一旦我尝试初始化数组,数字就会改变。
我也尝试使用(int)b.charAt(i) 进行投射,但这并没有什么不同。
为什么数字会变?
int a = 9119;
String b = a+"";
System.out.println(b);
int [] num = new int[b.length()];
String c = "";
for (int i = 0; i < b.length(); i++)
{
System.out.println(b.charAt(i));
num[i] = b.charAt(i);
//c += (num[i] * num[i])+"";System.out.println(c);
}
for (int w : num)
{
System.out.println(w);
}
这是控制台输出:
9119
9
1
1
9
57
49
49
57
【问题讨论】:
-
整数9和ascii字符“9”不一样,你发现了。