
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);
}
}
}