【问题标题】: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[] 数组中转换为负值,因此您的调用代码应检查这一点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-03
        • 1970-01-01
        • 2016-06-11
        • 1970-01-01
        • 2020-09-02
        • 1970-01-01
        • 2014-05-01
        • 1970-01-01
        相关资源
        最近更新 更多