java怎么从字符串数中提取挨着的数字并存入数组?

例如:String[]str={"acd<(123...456,475...567)hji","com<(677...787,789...887)>"};把这个数组中的数... 例如:String[] str={"acd<(123...456 , 475...567)hji" , "com<(677...787 , 789...887)>"};
把这个数组中的数取出来存到整形数组或者集合中的结果:a={123, 456, 475, 567, 677 ,787, 789, 887}
展开
 我来答
2711352
2013-06-18 · TA获得超过133个赞
知道答主
回答量:52
采纳率:0%
帮助的人:13.3万
展开全部
/*用最简单的基础计算随便写的  ,如果你要是字符串数组,那就循环数组 执行aaa方法……
你改一下返回值也可以,执行完返回一个数组……对象*/
int n2[];                     //最终得到的数组,以下得到可变化长度的n2数组
                
 public void aaa(String s){         //传入字符串测试 String s="cd234sn3245ji34fn&^345&%";
  String num="";            码团毁            //储存连续数字的字符串
  int n1=0,n3=0,n4=0;               //变量,用来进行简单计算
 char[] c_1=s.toCharArray(); 或如   //将字符串转化为字符数组
  for (int i = 0; i < c_1.length; i++) {
  int o=Character.getNumericValue(c_1[i]);      //字符转化为数字
   if (o>=0&&o<=9){
   num=num+c_1[i];        //储存连续数字
   n4=1;       //用来做下面的if判断

if(i!=(c_1.length-1)){       //判断,当达到最后一个时候,不再执行continue;    
         continue;
    }
   } 
   
    if(n4==1){         //-------------------当n4=1执行
      n4=0;              //-------------------执行一次 还原为0
      n1=Integer.parseInt(num);       /------/将连续数迟备字字符串转化为整型
      num="";                     //-----------------还原为空
      int []n2 = new int[n3+1];       //--------创建局部的n2数组
     if(n3!=0){                 //--------------------/第一次执行因为this.n2没有初始化,所以不执行操作
      for (int i1 = 0; i1 < this.n2.length; i1++) {
      n2[i1]=this.n2[i1];    //-------------------当this.n2的length!=0时,首先替换局部n2值
      }
     }
     n2[n3]=n1;     //-----------将最后一个值 传入参数
     this.n2=n2;    //----------------- 重新覆盖n2数组
     n3++;
    
   }
  }
 }
//---------------------------------------------main{}测试
黎勇老大
2015-09-14 · TA获得超过241个赞
知道答主
回答量:115
采纳率:0%
帮助的人:53.7万
展开全部
循环字符戚差洞串,找到第一个为数字的地方,记下位置,继续判断下面一个是否是数字,是的话继续往下判断,直到下一个字符不是数字,然后截取两次索引之间的子庆祥串,放入数组,继续高枯循环
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-21
展开全部
用正则把数字形式的提取出来再循环放入数组中就行了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友12ee0fd
2013-06-17 · TA获得超过4.7万个赞
知道大有可为答主
回答量:1.1万
采纳率:66%
帮助的人:2340万
展开全部
ArrayList<冲型Integer> list = new ArrayList<>();
for(String s: str){
  察稿  Scanner scanner = new Scanner(s);
 败判孝   while(scanner.hasNextInt()) list.add(scanner.nextInt());
    scanner.close();
}
Integer[] ia = list.toArray(new Integer[0]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友43a689119
2013-06-17
知道答主
回答量:69
采纳率:0%
帮助的人:26.6万
展开全部
跟提取字符串中的数字一样的道理啊 用正则表达式简单点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式