题解 | #表示数字#

表示数字

https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        //将一个字符串中所有的整数前后加上符号“*”,其他字符保持不变。连续的数字视为一个整数。
        Scanner scanner = new Scanner(System.in);
        String str = scanner.nextLine();
        StringBuilder strBuilder = new StringBuilder();
        for (int i = 0; i < str.length(); i++) {
            char ci = str.charAt(i);
            if(Character.isDigit(ci)){
                //前面不是数字
                if(i==0||!Character.isDigit(str.charAt(i-1))){
                    strBuilder.append('*');
                    strBuilder.append(ci);
                }else {
                    //前面是数字
                    strBuilder.append(ci);
                }
                //后面不是数字或者后面到头了
                if(i ==str.length()-1||!Character.isDigit(str.charAt(i+1))){
                    strBuilder.append('*');
                }
            }else {
                strBuilder.append(ci);
            }
        }
        System.out.println(strBuilder.toString());
        scanner.close();
    }
}

全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务