要優(yōu)化
題目描述
將一個字符中所有的整數(shù)前后加上符號“*”帕翻,其他字符保持不變。連續(xù)的數(shù)字視為一個整數(shù)棍潘。
注意:本題有多組樣例輸入恤浪。
輸入描述:
輸入一個字符串
輸出描述:
字符中所有出現(xiàn)的數(shù)字前后加上符號“*”敢课,其他字符保持不變
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
while ( (str=br.readLine())!=null ){
StringBuilder sb = new StringBuilder();
char[] arr = str.toCharArray();
for (int i=0;i<arr.length;i++){
if (isNum(arr[i])){
if (i==0){
sb.append('*');
sb.append(arr[i]);
if (!isNum((arr[i+1]))){
sb.append('*');
}
continue;
}
if (i==arr.length-1){
if (!isNum((arr[i-1]))){
sb.append('*');
}
sb.append(arr[i]);
sb.append('*');
continue;
}
if (!isNum((arr[i-1]))){
sb.append('*');
sb.append(arr[i]);
}else {
sb.append(arr[i]);
}
if (!isNum((arr[i+1]))){
sb.append('*');
}else {
}
}else {
sb.append(arr[i]);
}
}
System.out.println(sb.toString());
}
}
public static boolean isNum(char ch){
if (ch<='9' && ch>='0'){
return true;
}
return false;
}
}