以下是我的简单程序,该程序将字符串转换为数组的元素,根据文档,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/

10-10 07:54