描述 |
|
---|---|
知识点 | 字符串 |
运行时间限制 | 10M |
内存限制 | 128 |
输入 | 输入一个字符串 |
输出 | 字符中所有出现的数字前后加上符号“*”,其他字符保持不变 |
样例输入 | Jkdi234klowe90a3 |
样例输出 | Jkdi*234*klowe*90*a*3* |
解析:本来想利用replaceAll();“[^0-9]+”,替换方法简单处理,但是没有实现,所有采用复杂办法
<pre class="java" name="code">import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String s=sc.nextLine();
char[] ch=s.toCharArray();
StringBuffer sb=new StringBuffer();
for(int i=0;i<ch.length;i++){
if(i==0&&isnum(ch[i])&&!isnum(ch[1])){sb.append("*"+ch[0]+"*");}
else if(i==0&&isnum(ch[i])&&isnum(ch[1])){sb.append("*"+ch[0]);}
else if(i==ch.length-1&&isnum(ch[i])){sb.append(ch[i]+"*");}
else{
try{
if((isnum(ch[i])&&!isnum(ch[i+1]))||(!isnum(ch[i])&&isnum(ch[i+1]))){
sb.append(ch[i]+"*");
}else{sb.append(ch[i]);}
}catch(Exception e){sb.append(ch[i]);}
}}
System.out.println(sb.toString());
}sc.close();
}
private static boolean isnum(char ch){
if(ch>='0'&&ch<='9'){return true;}
return false;
}
}