题解 | #表示数字#
表示数字
https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6
import java.util.Scanner; /** * @author hll[yellowdradra@foxmail.com] * @since 2023-03-30 23:16 **/ public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String str = in.nextLine(); StringBuilder sb = new StringBuilder(); boolean start = false; for (char c : str.toCharArray()) { // 遇到了数字 还没开始 即数字的开始 if (isDigit(c) && !start) { sb.append("*").append(c); start = true; continue; } // 遇到了非数字 已经开始了 即数字的结束 if (!isDigit(c) && start) { sb.append("*").append(c); start = false; continue; } // 数字进行中或非数字进行中 sb.append(c); } // 如果是以数字结尾的还要最后补* boolean isEndWithDigit = isDigit(str.charAt(str.length() - 1)); System.out.println(sb.append(isEndWithDigit ? "*" : "")); } public static boolean isDigit(char c) { return c <= '9' && c >= '0'; } }