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); } } }
时间: 2024-10-06 22:59:51