天天看點

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

}

}

}