java:从String中提取数字

Strings1=“10234223213276”;字符串中有10个数字,相邻数字间用空格隔开。怎么把这10个数字提取出来,成为10个int类型的数????Strings... String s1=“10 23 42 2 32 1 3 2 7 6”;
字符串中有10个数字,相邻数字间用空格隔开。
怎么把这10个数字提取出来,成为10个int类型的数????
String s1=in.next();
输入一样规律的字符串,代码如何实现?
测试了一下午。。。System。out总是卡在第一个

import java.util.*;
public class Test {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String s1=in.next();
String[] strArray = s1.split(" ");
for(int i=0;i<strArray.length;i++){
//intArray[i] = Integer.parseInt(strArray[i]);
System.out.println(strArray[i]);
System.out.println(s1);
}
}
}
展开
 我来答
百度网友6c66a92
2014-10-05 · 超过30用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:45.6万
展开全部
public static void main(String[] args) {
String s1="10 23 42 2 32 1 3 2 7 6";
String[] strArray = s1.split(" ");
int[] intArray = new int[10];
for(int i=0;i<strArray.length;i++){
intArray[i] = Integer.parseInt(strArray[i]);
}
}

用split函数,空格作为参数。转化为字符串数组,再转为int数组。
intArray[i]就是10个int的数组。
更多追问追答
追问
String s1=in.next();
为什么接收一样规律的字符串(数字以空格间隔),会出错。。。
追答
String s1=in.next();

System.out.println(s1);

你这样得到的只有第一个数字。
zh52722
2014-10-05 · TA获得超过389个赞
知道小有建树答主
回答量:325
采纳率:75%
帮助的人:184万
展开全部
可以先用s1.split(" ")将字符串转数组,然后遍历数组,循环出String,用Integer.parseInt(String s)转一下就OK了
追问
String s1=in.next();
为什么接收一样规律的字符串(数字以空格间隔),会出错。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
空号一号
2014-10-05 · TA获得超过3845个赞
知道大有可为答主
回答量:1495
采纳率:0%
帮助的人:1611万
展开全部
首先使用类StringTokenizer把s1切成10个string。
然后,类Integer的静态方法parseInt(String s)可以把String转换成Integer。
详情查阅Java API文档。
追问
String s1=in.next();
为什么接收一样规律的字符串(数字以空格间隔),会出错。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rankabc
2014-10-06 · TA获得超过3561个赞
知道大有可为答主
回答量:3705
采纳率:59%
帮助的人:1072万
展开全部
import java.util.Scanner;

public class Test {
    
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        String s1=in.nextLine();//nextLine()才能读取空格
        String[] strArray=s1.split(" ");
        for(int i=0;i<strArray.length;i++){
            //intArray[i] = Integer.parseInt(strArray[i]);
            System.out.println(strArray[i]);
            // System.out.println(s1);
        }
    }
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fe660d0
2014-10-05 · TA获得超过142个赞
知道小有建树答主
回答量:118
采纳率:0%
帮助的人:92.2万
展开全部
最简单的办法:
Strint[] nums = s1.split(" ");
int[] inNums = new int[nums.lenght];
for(int i = 0; i < nums.length; i++){
inNums[i] = Integer.parse(nums[i]);
}
done.....
追问
String s1=in.next();
为什么接收一样规律的字符串(数字以空格间隔),会出错。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式