跪求字符串的问题

问题描述

要对字符串进行操作要求是这样的:Stringformual="a+b-c-d+e+f-g";得到的结果是这样加号存放一个数组:减号存放一个数组中:跪求高人

解决方案

解决方案二:
在线等待跪求高人
解决方案三:
String[]split(Stringregex);//以regex为标志分割成数组包括:String[]split(Stringregex,intlimit);//limit为数组长度,多出部分并入最后一个元素如:Stringstr="a,b,c,d,e,f,g";Stringtemp[]=str.split(",");//返回数组a,b,c,d,e,f,g
解决方案四:
这个API知道,关键是怎么把一个字符串中的减号和减号进行分割
解决方案五:
先用加号分割,判断是不是一个字符,如果是就放进一个数组里边,如果不是一个字符,就用减号分割,然后放进另一个数组!
解决方案六:
你把要的结果写出来,啥加号存放一个数组,减号存放一个数组,说的不清晰
解决方案七:
结果是:a,b,e,fc,d,g
解决方案八:
booleanjianhao=false;intlength=str.length();StringBuffera=newStringBuffer();//+StringBufferb=newStringBuffer();//-for(inti=0;i<length;i++){charc=str.charAt(i);if(c=='+'){jianhao=false;}elseif(c=='-'){jianhao=true;}elseif(jianhao){b.append(c);}else{a.append(c);}}
解决方案九:
用StringBuffer,一个个的截取判断,
解决方案十:
搞不懂楼主的意思!
解决方案十一:
楼主先还在不在
解决方案十二:
不懂??????
解决方案十三:
就是一个字符串中Stringstr="12+13+14-11-21";中最后得到的结果分别是:加号的值:12,13,14减号的值:11,21就是这个问题
解决方案十四:
用split截取
解决方案十五:
跪求高手把结果输出来我看看
解决方案:
用String[]split但是不太清楚你要表达什么?
解决方案:
重新表述下一个字符串Stringstr="1002+1003-1004+1005-1006+1007"得到结果是:加号的值结果为:1002,1003,1005,1007减号的值结果为:1004,1006弄了一天了,小弟跪求
解决方案:
跪求高人小弟万分感激
解决方案:
楼主的意思是不是字母前面的符号是+的字母放在一个数组,字母前面的符号是-的放在另一个数组,在字符串前面第一个没符号的,默认是+?两个两个的来取就行了吧Strings="a+b-c-d+e+f-g"char[]chs=s.charArray();List<char>lista=newArrayList<char>();List<char>listb=newArrayList<char>();lista.add(chs[0]);for(inti=1;i<chs.length;i+=2){if(chs[i]=='+'){lista.add(chs[i+1]);}else{listb.add(chs[i+1]);}}是这个意思不
解决方案:
看明白了,是这个意思啊,可以用一个正则表达式来分隔啊,就是+或者-作为分隔符,用正则表达式split()是可以传入一个正则表达式的不知道楼主这个题目有没有+-连续出现的情况
解决方案:
/***@authortroy(J2EE)*@version1.0*/publicclassTest{publicstaticvoidmain(String[]args)throwsException{Stringformual="a+b-c-d+e+f-g";StringaddStr="";//加号的字符StringsubStr="";//减号的字符for(inti=0;i<formual.length();i++){if(formual.charAt(i)!='+'&&formual.charAt(i)!='-'){intindex=i-1<0?0:i-1;if(index==0||formual.charAt(index)=='+'){addStr+=formual.charAt(i)+"";}if(formual.charAt(index)=='-'){subStr+=formual.charAt(i)+"";}}}System.out.println("加号的字符:"+addStr);System.out.println("减号的字符:"+subStr);}}

解决方案:
上面的代码你直接在运行吧,就是你想要的结果这么简单的玩意哎--
解决方案:
#刚刚写出来。。。我晕哎瞎弄了一天
解决方案:
随便写的,有什么问题发消息给我。publicstaticvoidmain(String[]args){Stringstr="1002+1003-1004+1005-1006+1007";str=str.indexOf("+")>str.indexOf("-")?"-"+str:"+"+str;List<String>tempStrList=newArrayList<String>();List<String>tempStrList1=newArrayList<String>();List<String>tempStrList2=newArrayList<String>();Stringtemp="";for(inti=0;i<str.length();i++){if(str.charAt(i)=='+'||str.charAt(i)=='-'){if(temp!=""){tempStrList.add(temp);temp="";tempStrList.add(String.valueOf(str.charAt(i)));}else{tempStrList.add(String.valueOf(str.charAt(i)));}}else{temp+=str.charAt(i);}if(i==str.length()-1){tempStrList.add(temp);}}for(inti=0;i<tempStrList.size();i++){if(i>0){if(tempStrList.get(i-1).equals("+")){tempStrList1.add(tempStrList.get(i));}if(tempStrList.get(i-1).equals("-")){tempStrList2.add(tempStrList.get(i));}}}System.out.println("+为前缀");for(Stringu:tempStrList1){System.out.println(u);}System.out.println("-为前缀");for(Stringu:tempStrList2){System.out.println(u);}}

解决方案:
20楼的只是单字符。
解决方案:
结果:[1002,1003,1005][1004,1006]代码如下:importjava.util.ArrayList;importjava.util.List;publicclassMain{/***@paramargs*/publicstaticvoidmain(String[]args){Strings="1002+1003-1004+1005-1006+1007";String[]str=s.split("[+,-]");char[]chs=s.toCharArray();List<Character>list=newArrayList<Character>();for(inti=0;i<chs.length;i++){if(chs[i]=='+'||chs[i]=='-'){list.add(chs[i]);}}List<String>plus=newArrayList<String>();List<String>minus=newArrayList<String>();plus.add(str[0]);for(inti=1;i<list.size();i++){if(list.get(i-1)=='+'){plus.add(str[i]);}else{minus.add(str[i]);}}System.out.println(plus);System.out.println(minus);}}

解决方案:
楼下的人好牛逼写的好有功底
解决方案:
弄错了一点地方结果:[1002,1003,1005,1007][1004,1006]代码:packagecat.Test;importjava.util.ArrayList;importjava.util.List;publicclassMain{/***@paramargs*/publicstaticvoidmain(String[]args){Strings="1002+1003-1004+1005-1006+1007";String[]str=s.split("[+,-]");char[]chs=s.toCharArray();List<Character>list=newArrayList<Character>();for(inti=0;i<chs.length;i++){if(chs[i]=='+'||chs[i]=='-'){list.add(chs[i]);}}List<String>plus=newArrayList<String>();List<String>minus=newArrayList<String>();plus.add(str[0]);for(inti=1;i<str.length;i++){if(list.get(i-1)=='+'){plus.add(str[i]);}else{minus.add(str[i]);}}System.out.println(plus);System.out.println(minus);}}

解决方案:
楼主,给点分吧。。。。
解决方案:
兄弟,不是我不想给我穷得一分都没了,谢谢大家跪谢
解决方案:
正则表达式
解决方案:
publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstubArrayList<String>adds=newArrayList<String>();ArrayList<String>subs=newArrayList<String>();Strings="123+342-342+234-5464-976+3453-765";Stringa="";booleanflag=true;for(inti=0;i<s.length();i++){Characterc=s.charAt(i);try{a+=Integer.toString(Integer.parseInt(String.valueOf(c)));if(flag&&i==s.length()-1){adds.add(a);}elseif(!flag&&i==s.length()-1){subs.add(a);}}catch(Exceptione){//TODO:handleexceptionif(flag){adds.add(a);}else{subs.add(a);}a="";if(c.equals('+')){flag=true;}if(c.equals('-')){flag=false;}}}for(inti=0;i<adds.size();i++){System.out.println(adds.get(i));}System.out.println("---------------------------------------");for(inti=0;i<subs.size();i++){System.out.println(subs.get(i));}}

解决方案:
这个好!引用6楼zhangsan0906的回复:

结果是:a,b,e,fc,d,g

时间: 2024-07-29 18:22:40

跪求字符串的问题的相关文章

跪求!急,在线等!!.netDES加密与javaDES加密出的字符串不同

问题描述 跪求!急,在线等!!.netDES加密与javaDES加密出的字符串不同 这是.net的DES加密 .net我不懂 这是java的 我敲的 但是二者加密出来的字符串不同 java解析出来的加密字符串是 e0pOfMet1ZnYMUAaIjk6lg== .net解析出来的是 esUrgcoeel8amhhplZX2MQ== 我java的那个步骤错了吗? 为什么俩者解析出来的字符串不同!谢谢大神!! 囧 解决方案 .net你用的是asiic编码,你确认java使用asiic编码吗 解决方案

java jtable-关于从jtabl中取数,跪求答案啊

问题描述 关于从jtabl中取数,跪求答案啊 50C int row=-1; for(int i=0;i<v.length;i++){ for(int j=0;j<v[i].length;j++){ for(int k=0;k<v[i][j].length;k++){ for(int l=0;l<v[i][j][k].length;l++){ //v[i][j][k][l]=new Variable(); v[i][j][k][l]=new Variable(); row++; v

c语言-关于C语言链表的一些问题,代码怎么都运行不成功跪求大神指点

问题描述 关于C语言链表的一些问题,代码怎么都运行不成功跪求大神指点 下面代码主要实现链表的创建,插入,删除,并且能将两个年龄递增链表进行合并成递减链表 然而在插入和删除操作中gets函数无法起作用,strcmp函数也出现位置冲突报错..功力不足实在解决不了..跪求大神解答..(感觉自己写的东西除了上面两个错误应该还有,但是因为位置冲突问题就只能编译到那个地方无法进行下去..我肉眼实在找不出来.. #include<stdio.h> #include<stdlib.h> #incl

参数-初学者深夜提问,多有打扰,跪求指点。error C2664

问题描述 初学者深夜提问,多有打扰,跪求指点.error C2664 一个俄罗斯方块的小程序,报错部分代码如下: //显示分数信息 char string[5]; wColors[0]=FOREGROUND_RED| FOREGROUND_GREEN|FOREGROUND_INTENSITY; textout(handle,26+dx,5+dy,wColors,1,_itoa_s(score,string,10)); textout(handle,26+dx,9+dy,wColors,1,_it

android-java web 怎么给安卓手机客户端提供接口? 开发文档不懂 跪求解决方法

问题描述 java web 怎么给安卓手机客户端提供接口? 开发文档不懂 跪求解决方法 用到的框架 spring+springMVC+myBatis 数据库 mysql 开发工具 eclipse 实现手机 注册 和登录 以及获取手机用户个人信息功能 这是开发文档 可供参考,真的不知道该从哪里入手 1.用户注册 参数名称 参数说明 长度要求 可选/必须 phone 用户注册的手机号 必须 password 用户密码(md5加密) 必须 code 手机验证码 6 必须 rndstring 随机字符串

fortran-关于FORTRAN调用matlab出现问题,无从下手,跪求大神指点!

问题描述 关于FORTRAN调用matlab出现问题,无从下手,跪求大神指点! 首先说明,我用的是VS2008平台,intel fortran安装在该平台下,matlab为2010a版本 .调用了matlab中的libeng.lib libmat.lib libmex.lib libmx.lib库文件.程序可以编译,但是运行时候出错.代码 !!matlab函数调用模块 !!!!! module matlab implicit none integer ep !指针,用于指向打开的matlab i

急急急-跪求,javaweb,jsp,间接读值,

问题描述 跪求,javaweb,jsp,间接读值, 有什么方法可以从在计算价时,键入数据表中的编号列,得到是价钱列的值,(编号与价钱在同一行) 解决方案 从界面上扫数据这个做法会让你后面苦不堪言. 建议你理解下mvc或者mvvm思想. 把数据都放在model里,或者viewmodel里. 当界面上的显示的数据变化时,跟踪这个变化,并更新你的model, 然后再你的model里进行数据处理,并反馈给界面. 解决方案二: 你的这个场景,具体的做法: 在你的服务端,java类中,序列化你的类为json

c#-跪求大神帮帮忙,都好说。。。

问题描述 跪求大神帮帮忙,都好说... 实验目的: 1. 掌握常用控件的属性.方法.事件 2. 掌握窗体的常用属性.方法和事件 3. 掌握Windows应用程序人机界面可视化设计方法 4. 掌握事件驱动模型的思想 5. 巩固C#语言中类的定义.继承.流程控制语句等基础知识 实验步骤: (1) 在.Net环境中建立Windows窗体应用程序: (2) 定义枚举类型 Public enum SexType {男, 女, 未知}: Public enum ProTitle (助教,讲师,副教授.教授.

跪求一正则表达式(JAVA)

问题描述 跪求一正则表达式(JAVA) 有一篇文章,我想用正则提取某一小节中的一段文字.规则如下: 内容乱写的. 第一节 春天来了 大都是厅夺顶替在大都是厅百无可奈何堙十万八千里剞需要要压顶 时可时可百事,,地佣兵的,脸,的,遥,仍.人. 一. 叶子黄啦 ........ [开新车了] 大都是厅夺顶替在大都是厅百无可奈何堙十万八千里剞需要要压顶 时可时可百事,,地佣兵的,脸,的,遥,仍.人大都是厅夺顶替在大都是厅百无可奈何堙十万八千里剞需要要压顶 时可时可百事,,地佣兵的,脸,的,遥,仍.人.