以下是我的简单程序,该程序将字符串转换为数组的元素,根据文档,charAt(i)
不会返回其应有的内容。我的代码是
public class StringToArray {
public static void main(String[] args){
String test = "12345";
fromPuzzleString(test);
}
public static void fromPuzzleString(String puzzle) {
int puz[] = new int[puzzle.length()];
for (int i = 0; i < puzzle.length(); i++) {
puz[i] = puzzle.charAt(i);
}
for (int c : puz) {
System.out.println(c);
}
}
}
预期输出:
1 2 3 4 5
实际输出:
49 50 51 52 53
但是当我使用puz [i] = puzzle.charAt(i)-“ O”;
它的工作很好..!
最佳答案
这是因为字符的值与用于表示它的int
不同。将puz
声明为char[]
应该可以解决该问题,并按预期方式打印数字。
关于java - charAt(i)没有给出预期的数组行为,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15524322/