编写一个函数,该函数将表示为String的数字作为参数,例如"12345"
或"4321432143214321"
,并在数组中返回该数字的数字。
你的函数应该创建一个int []数组,每个元素的数字只有一位数。
有人可以提示我如何解决这个问题吗?
答案 0 :(得分:1)
public int[] convertToArray(String str){
int array[] = new int[str.length()];
for(int i = 0; i < array.length; i++){
try{
array[i] = Integer.parseInt(str.substring(i,i+1));
}catch(NumberFormatException e){
e.printStackTrace();
array[i] = 0;
}
}
return array;
}
答案 1 :(得分:1)
只是为了好玩,Java 8解决方案:
int[] result = input.codePoints().map(Character::getNumericValue).toArray();
答案 2 :(得分:0)
int[] getStringAsArray(String input) {
int[] result = new int[input.length()];
for (int i=0; i < input.length(); ++i) {
result[i] = Character.getNumericValue(input.charAt(i));
}
return result;
}
请注意,输入字符串中不是数字的任何字符都将在输出int[]
数组中转换为负值,因此您的调用代码应检查此字符。