天天看点

java一个数字一个数字_java求字符串中连续的数字为一个整体并返会连续的数字和共有多少个整数...

java一个数字一个数字_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);

}

}

}