有没有一种简单的方法可以将整数字符串转换为单个整数

Is there an easy way to convert string of ints to individual ints

我能做到:

int foo = Integer.parseInt("123");

所以int foo = 123

鉴于:

String numbers = "1 2 3"; //note the separation by a space if that helps

int first=
int second=
int third=

有没有简单的写法让上面的每个int first, second, third都对应到合适的位置?

获取输入并使用 split 方法将其转换为字符串数组,迭代该字符串数组并将每个字符串转换为 char 数组。请看下面的代码

String str = "12 3 1 265";
    String[] strArray = str.split(" ");

    for(String s : strArray){
      char[] charArray = s.toCharArray();
      for(char c : charArray){
         // your logic to parse and store
          System.out.println(c);
      }
 }

希望对您有所帮助

使用 for 循环。

String numbers = "123456789";
        int[] nums = new int[numbers.length()];
        for(int i = 0; i < numbers.length(); i++){
            nums[i] = Integer.parseInt(""+numbers.charAt(i));
        }

Space可以避免。所以让代码为:

第一种方式:

    String numbers []  = {"1" , "2" , "3"};
    int firstNum = Integer.parseInt(numbers[0]);
    int secondNum = Integer.parseInt(numbers[1]);
    int thirdNum = Integer.parseInt(numbers[2]);
    // strings are now parsed 

第二种方式:

   private String numbers = new String[3] ;
   numbers[0] = "1" ;
   numbers[1] = "2" ;
   numbers[2] = "3" ;
   int firstNum = Integer.parseInt(numbers[0]);
   int secondNum = Integer.parseInt(numbers[1]);
   int thirdNum = Integer.parseInt(numbers[2]);
   // strings are now parsed 

第三种方式: (使用for循环)注意:一个for循环可以初始化多个变量

  int numArray = new int(3);
  String strNum = {"1" , "2" , "3"} ;

 for( int ic ; int i ; ic < 3;  ic ++){
        i += 1 ;
        numArray[i] = Integer.parseInt(strNum[ic]);
  }  

只有当有更多数字时,我才会推荐 for 循环。对于三个数字的字符串,最好是单独赋值。

希望对你有所帮助。

如果它没有被 space 分开,替代解决方案:

String numbers = "123";
int foo = Integer.parseInt(numbers);
int[] nums = new int[numbers.length()];
int i=0;
  while (foo > 0) {
   nums[i] = foo % 10;
   number = foo / 10;
   i++
  }

如果被space分隔,使用非数字字符拆分并转换为数字。

    String numbers = "1 2 3";
    String s[] =numbers.split("\D+");
    int[] nums = new int[s.length];
       for(int i = 0; i < s.length; i++){
                nums[i] = Integer.parseInt(s[i]);
       }
String s="12 23 76 87 98";
        while (s.indexOf(" ")!=-1)
        {
            System.out.println(Integer.parseInt(s.substring(0,s.indexOf(" "))));
            s=s.substring(s.indexOf(" ")+1, s.length());
        }
        System.out.println(Integer.parseInt(s.substring(0,s.length()))); // for last integer


Output:
12
23
76
87
98