【问题标题】:String to Array Int字符串到数组 Int
【发布时间】:2016-02-03 01:32:51
【问题描述】:
编写一个函数,它将表示为字符串的数字作为参数,例如"12345" 或"4321432143214321",并在数组中返回该数字的数字。
您的函数应创建一个 int[] 数组,其中每个元素的数字为您的一位数。
有人可以提示我如何解决这个问题吗?
【问题讨论】:
标签:
java
arrays
type-conversion
【解决方案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;
}
【解决方案2】:
只是为了好玩,Java 8 解决方案:
int[] result = input.codePoints().map(Character::getNumericValue).toArray();
【解决方案3】:
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[] 数组中转换为负值,因此您的调用代码应检查这一点。