题解 | #表示数字#

表示数字

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';
    }
}

全部评论

相关推荐

2025-12-29 20:37
已编辑
清华大学附属小学 Java
哇哇的菜鸡oc:1.为什么要写这么多内容呀 2.什么叫做简历 3.什么样的内容可以写到简历上 4.项目可以包装,但是要有理有据呀,不能乱包装呀,比如 跨境能达到日均120万订单的在国内都是能叫的上名字的,而且这些工作也基本上不太会交给一个实习生去做 建议友友可以去网上或者找同学的简历看看,他们的简历是怎么写的,去找找上面的那四个问题的答案吧,然后要记住的是Java是服务于业务的,而不是服务于微服务或者技术的
最后再改一次简历
点赞 评论 收藏
分享
昨天 12:06
复旦大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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