题目描述
将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变
public static String MarkNum(String pInStr)
{
return null;
}
注意:
输入数据可能有多行
输入描述:
输入一个字符串
输出描述:
字符中所有出现的数字前后加上符号“*”,其他字符保持不变。
思想:将输入的String字符串转成字符数组(使用toCharArray()),然后新建StringBuffer类,通过append()方法逐个加,当是数字的时候,前后增加“*”,其它情况正常append.
代码如下:
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
String str=sc.nextLine();
System.out.println(MarkNum(str));
}
sc.close();
}
public static String MarkNum(String pInStr)
{
char[] array=pInStr.toCharArray();
StringBuffer sb=new StringBuffer();
for(int i=0;i<array.length;i++){
if((array[i] - '0' >= 0) && (array[i] - '0' <= 9)){
sb.append("*" + array[i] + "*");
}
else {
sb.append(array[i]);
}
}
return sb.toString().replace("**", "");
}
}