Problem Description
輸入一個字符串str1,把其中的連續非數字的字符子串換成一個‘*’,存入字符數組str2 中,所有數字字符也必須依次存入 str2 中。輸出str2。
Input
輸入為一行字符串str1,其中可能包含空格。字符串長度不超過80個字符。
Output
輸出處理好的字符串str2。
Sample Input
$Ts!47&*s456 a23* +B9k
Sample Output
*47*456*23*9*
Hint
Source
1 import java.util.*; 2
3 public class Main { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 String str1 = sc.nextLine(); 7 char[] str2 = new char[81]; // 定義用於儲存變形后字符串的字符數組
8 int j = 0; 9 int flag = 1; // 設置變量,標識是否已經輸出過數字
10 for (int i = 0; i < str1.length(); i++) { 11 char ch = str1.charAt(i); 12 if (Character.isDigit(ch)){ // 調用isDigit方法,識別整數
13 flag = 1; 14 str2[j++] = ch; 15 } 16 else if (flag == 1){ 17 str2[j++] = '*'; 18 flag = 0; 19 } 20 } 21 for (int i = 0; i < j; i++){ 22 System.out.printf("%c", str2[i]); 23 } 24 } 25 }