关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
17天前关门了。
改进这个问题
输入:
字符串arrr[]=新字符串[4];
arrr[0]=+2501+2502+2503+2504
arrr[1]=-2501-2504+2505+2506+2507+2509
arrr[2]=+2501+2511-2502-2505
arrr[3]=+2513-2507-2503-2511-2509
输出:
我要将字符串分隔为:
肯定的:
arrr1[0]=+2501+2502+2503+2504
arrr1[1]=+2505+2506+2507+2509
arrr1[2]=+2501+2511
arrr1[3]=+2513
阴性:
arrr2[0]=-2501-2504
arrr2[1]=-2502-2505
arrr2[2]=-2507-2503-2511-2509
int nostrt = -1, m = 0;
StringBuilder str4 = new StringBuilder();
for(int i = 0;i < strbullist.length(); i++)
{
char c = strbullist.charAt(i);
if(nostrt == -1)
{
m = i;
nostrt = 1;
}
if(c=='-')
{
str4.append(strbullist.substring(m, i));
nostrt = -1;
System.out.println(str4);
}
}
3条答案
按热度按时间svdrlsy41#
可以将字符串拆分为一个或多个空格字符(即。
\s+
)并迭代得到的数组,以查找元素是以正符号还是以负符号开头。演示:
输出:
或者,也可以使用regex,
\+\d+|\-\d+
表示一个或多个数字后跟加号(即。\+\d+
)或(即。|
)一个或多个数字后跟一个负号(即。\-\d+
).输出:
如果你想用
StringBuilder
而不是List
:输出:
使用
String#matches
:输出:
更新(基于更新的问题):
如果问题中的字符串是
String[]
,您需要一个额外的循环来迭代String[]
. 其余的事情将保持不变。输出:
rqmkfv5c2#
试试这个逻辑,根据你的需要改变。
导入java.util.scanner;公共课p19{
u4dcyp6a3#
如果你想把数字存储在一个字符串中,试试这个