String to Array Int

时间:2016-02-03 01:32:51

标签: java arrays type-conversion

编写一个函数,该函数将表示为String的数字作为参数,例如"12345""4321432143214321",并在数组中返回该数字的数字。

你的函数应该创建一个int []数组,每个元素的数字只有一位数。

有人可以提示我如何解决这个问题吗?

3 个答案:

答案 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[]数组中转换为负值,因此您的调用代码应检查此字符。