有没有一种简单的方法可以将整数字符串转换为单个整数
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
我能做到:
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