Java:求字符串中邻接的数字为一个整体

时间:2023-03-08 22:13:41

Java:求字符串中邻接的数字为一个整体

public static void main(String[] args) {
String strNumbers = "0123456789";//用来进行判断数字的 System.out.println("请输入一个字符串:");
String string = new Scanner(System.in).next(); //自定义输入
String[] strings = new String[string.length()];//自定义是字符串
System.out.println("自定义的长度=>"+strings.length);
//循环自定义的字符串,把相应的每个字符放入数组中
for (int i = 0; i < string.length(); i++) {
strings[i] = string.substring(i, i + 1);
}
int length = 0;//定义索引下标
int sumInteter = 0;//计算整数
boolean bool = true;
String[] strs = new String[string.length()];//再新建个数组,用来存放 当是连续数字时,把那个连续的数据当成一个数组
//循环所有的字符串
for (String str : strings) {
//把相应的字符串放入strNumbers中使用indexof的方法判断是否; 如果是就返回 相应索引下标,否则 返回-1
int index = strNumbers.indexOf(str);
if (index == -1) {//表示当前值不是数字
strs[length] = str;//直接把当前的值 赋值 给 数组
length++;//索引下标 自增
bool = true; // 锁开启
} else {//表示当前值是数字
if (bool) {
strs[length] = str;
length++;
sumInteter++;
bool = false;//锁关闭,使锁关闭的原因是当下一个字符是 也数字是运行下面else的操作
} else { //当前值和前一个值也是数字, 就运行这步
//因为之前的索引自增了, 索引必须要-1 ,使用concat把数字链接到前一个值的尾部
strs[length - 1] = strs[length - 1].concat(str); }
}
}
System.out.println("多少个整数"+sumInteter+"个");
for (String str : strs) {
if (str != null) {
System.out.println(str);
}
} }

  

相关文章