题解 | #表示数字#
表示数字
http://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6
/**
将一个字符中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。
输入描述:
输入一个字符串
输出描述:
字符中所有出现的数字前后加上符号“*”,其他字符保持不变
*/
import java.util.*;
public class Main {
public static void main(String[]args){
Scanner input=new Scanner(System.in);
String str=input.next();
char[]ch=str.toCharArray();
int len=ch.length;
// for(int i=0;i<len;i++) {
// System.out.println(ch[i]);
// }
if(Character.isDigit(ch[0])) {
System.out.print("*");
}
for(int i=0;i<len-1;i++){
//hh5
//len=3 len-1=2
//i=0 ch[0]是字母 ch[1]是字母 输出ch[0] h
//i=1 ch[1]是字母 ch[2]是数字 输出ch[1] h *
//i=2 跳出循环
if (!Character.isDigit(ch[i])&& Character.isDigit(ch[i+1]) ){
//字母+数字 数字前面输出胡一个*
System.out.print(ch[i]);
System.out.print("*");
// System.out.println("字母+数字");
}
if(Character.isDigit(ch[i] )&&!Character.isDigit(ch[i+1]) ){
//数字+字母 数字后面输出一个*
System.out.print(ch[i]);System.out.print("*");
//System.out.println("数字+字母");
}
//数字+数字
if(Character.isDigit(ch[i])&&Character.isDigit(ch[i+1])) {
System.out.print(ch[i]);
//System.out.println("数字+数字");
}
//字母+字母
if(!Character.isDigit(ch[i])&&!Character.isDigit(ch[i+1])) {
System.out.print(ch[i]);
// System.out.println("字母+字母");
}
}
if(Character.isDigit(ch[len-1])) {
System.out.print(ch[len-1]);
System.out.print("*");
}else {
System.out.print(ch[len-1]);
}
}
}

