[英]how can i get int array from the string
i want to make the number array from the StringTokenizer. 我想从StringTokenizer使数字数组。
if there is text line " 2345 " 如果有文本行“ 2345”
i want to get array list [2,3,4,5] . 我想获取数组列表[2,3,4,5]。 so first of all, i made Arraylist and get from the st token using the hasMoreToken
所以首先,我制作了Arraylist并使用hasMoreToken从st令牌中获取
ArrayList argument_list = new ArrayList();
while(st.hasMoreTokens()){
argument_list.add(Integer.valueOf(st.nextToken()));
}
int[] arguments = new int[argument_list.size()];
now i notice my argument_list get whole string to number "2345" not "2","3","4","5" because there is no "split word" like " , " 现在我注意到我的arguments_list的整个字符串都变成了数字“ 2345”,而不是“ 2”,“ 3”,“ 4”,“ 5”,因为没有像“”这样的“分词”
maybe i can divide number use the "/" but i think there is a way just split the String and get the number array even i don't know 也许我可以使用“ /”将数字相除,但是我认为有一种方法可以拆分字符串并获取数字数组,即使我不知道
is there way to split the token to array ? 有没有办法将令牌拆分为数组?
Another approach is to use String#toCharArray
, and work with resulting char[]
另一种方法是使用
String#toCharArray
,并使用生成的char[]
List<Integer> ints = new ArrayList<Integer>();
char[] chars = "2345".toCharArray();
for (char c : chars) {
ints.add(Integer.parseInt(String.valueOf(c)));
}
You could also convert to char array in loop declaration, removing the need for chars
variable 您也可以在循环声明中转换为char数组,从而无需使用
chars
变量
List<Integer> ints = new ArrayList<Integer>();
for (char c : "2345".toCharArray()) {
ints.add(Integer.parseInt(String.valueOf(c)));
}
you can try something like this: 您可以尝试这样的事情:
String s = "1234";
int[] intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = parseInt(s.charAt(i));
}
Try Following: 尝试以下操作:
String s="12345";
String test[]=s.split("(?<!^)");
int[] arguments = new int[test.length];
for(int i=0;i<test.length;i++){
arguments[i]=Integer.parseInt(test[i]);
}
The code splits the string into each character and later parses it to integer. 该代码将字符串拆分为每个字符,然后将其解析为整数。
Try something like: 尝试类似:
String s = "1234";
int[] intArray = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
intArray[i] = s.charAt(i) - '0';
}
System.out.println(Arrays.toString(intArray));
Try this : 尝试这个 :
public static void main(String args[]){
String sTest = "1234";
int n = sTest.length();
List<Integer> list = new ArrayList<Integer>();
for(int i = 0 ; i < n ; i++){
int code = Integer.parseInt(sTest.substring(i, i+1));
list.add(code);
System.out.println(code);
}
System.out.println(list);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.