描述
将一个字符中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。
数据范围:字符串长度满足 1 \le n \le 100 \1≤n≤100
输入描述:
输入一个字符串
输出描述:
字符中所有出现的数字前后加上符号“*”,其他字符保持不变
示例1
输入:
Jkdi234klowe90a3复制输出:
Jkdi*234*klowe*90*a*3*复制
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()){
String next = scanner.next();
if(next.length()>=1 && next.length()<=100){
StringBuffer strb = new StringBuffer("");
boolean lastDigit = false;//上一个字符,不是数字
for (int i = 0; i < next.length(); i++) {
char c = next.charAt(i);
if(Character.isDigit(c)){
if(!lastDigit){//之前不是数字
strb.append("*");
}
strb.append(c);
lastDigit = true;//上一个字符 变成数字
}else { //是字母
if(lastDigit){
strb.append("*");
}
strb.append(c);
lastDigit = false; //上一个不是数字,变成字母了。
}
}
if(lastDigit){
strb.append("*");
}
System.out.println(strb.toString());
}
}
}