保留整数 (Java实现)

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 }
相关文章
相关标签/搜索