您的解决方案存在许多问题。第一个是循环条件
i > raw.length()错误-您的循环永远不会执行-该条件应为
i < raw.length()
第二个是演员。您正在尝试转换为整数数组。实际上,由于结果是char,所以您不必强制转换为int-
转换将自动完成。但是转换后的数字不是您想的那样。它不是您期望的整数值,但实际上是char的ASCII值。因此,您需要减去ASCII值零以获得所需的整数值。
第三是您尝试打印结果整数数组的方式。您需要遍历数组的每个元素并将其打印出来。
String raw = "1233983543587325318"; int[] num = new int[raw.length()]; for (int i = 0; i < raw.length(); i++){ num[i] = raw.charAt(i) - '0'; } for (int i : num) { System.out.println(i); }


