JAVA中,我想把一个String的一串数字赋值给一个int[]类型的数组 怎样实现啊?光用for结果不对。
第1个回答 2013-03-23
最好用正则表达式,代码如下:
public static void main(String arg[]) {
String s = "123ab3243dg334";
// 正则表达式取数字
Pattern p = Pattern.compile("\\d+");
// 匹配
Matcher m = p.matcher(s);
// 保存抽取的数字
List<String> lst = new ArrayList<String>();
while(m.find()) {
// 开始位置
int start = m.start();
int end = m.end();
String temp = s.substring(start, end);
lst.add(temp);
}
// 匹配的数量
int n = lst.size();
System.out.println("找到 " + n + " 个数字。");
// 转换为数字
int[] nn = new int[n];
for(int i = 0; i < n; i++) {
nn[i] = Integer.parseInt(lst.get(i));
System.out.println(nn[i]);
}
}
public static void main(String arg[]) {
String s = "123ab3243dg334";
// 正则表达式取数字
Pattern p = Pattern.compile("\\d+");
// 匹配
Matcher m = p.matcher(s);
// 保存抽取的数字
List<String> lst = new ArrayList<String>();
while(m.find()) {
// 开始位置
int start = m.start();
int end = m.end();
String temp = s.substring(start, end);
lst.add(temp);
}
// 匹配的数量
int n = lst.size();
System.out.println("找到 " + n + " 个数字。");
// 转换为数字
int[] nn = new int[n];
for(int i = 0; i < n; i++) {
nn[i] = Integer.parseInt(lst.get(i));
System.out.println(nn[i]);
}
}
第2个回答 2013-03-23
这个字符串类型的数字们中间有间隔的符号吗?
比如String s="13,45,56,67,34,3,763";
如果是上面这样有分隔的符号的话,用split
例子:
public static void main(String[] args) {
String s="13,45,56,67,34,3,763";
String [] ss=s.split(",");
int []in=new int[ss.length];
for (int i = 0; i < ss.length; i++) {
in[i]=Integer.parseInt(ss[i]);
System.out.println(in[i]);
}
}本回答被提问者采纳
比如String s="13,45,56,67,34,3,763";
如果是上面这样有分隔的符号的话,用split
例子:
public static void main(String[] args) {
String s="13,45,56,67,34,3,763";
String [] ss=s.split(",");
int []in=new int[ss.length];
for (int i = 0; i < ss.length; i++) {
in[i]=Integer.parseInt(ss[i]);
System.out.println(in[i]);
}
}本回答被提问者采纳
第3个回答 2013-03-23
先把String型转成char型的,再用for就行了
第4个回答 2013-03-23
String str1="100";
Integer a = new Integer(str1);
那么a的值等于100(int型的),希望能帮到你。
Integer a = new Integer(str1);
那么a的值等于100(int型的),希望能帮到你。