欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 培训 > 蓝桥杯试题:串的处理

蓝桥杯试题:串的处理

2025/2/25 9:23:49 来源:https://blog.csdn.net/2301_79600015/article/details/145768522  浏览:    关键词:蓝桥杯试题:串的处理

活动发起人@小虚竹 想对你说:

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你参加为期14天的创作挑战赛!

提醒:在发布作品前,请将不需要的内容删除。

一、题目描述

在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:

  1. 把每个单词的首字母变为大写。

  2. 把数字与字母之间用下划线字符(_)分开,使得更清晰

  3. 把单词中间有多个空格的调整为 1 个空格。

输入描述

用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由 1 个或多个空格分隔。假设用户输入的串长度不超过 200 个字符。

输出描述

输出处理好的字符串。

输入输出样例

示例
you and me what cpp2005program

输出 

You And Me What Cpp_2005_program

二、代码展示 

import java.util.*;public class Main {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String str = scan.nextLine();char[] c = str.toCharArray();int n = c.length;StringBuilder st = new StringBuilder();boolean isNewWord = true; // 标记是否为新单词的开始for (int i = 0; i < n; i++) {char x = c[i];if (x >= 'a' && x <= 'z') {if (isNewWord) {x = Character.toUpperCase(x);isNewWord = false;}st.append(x);} else if (x == ' ') {if (!isNewWord) { // 只有在不是新单词开始时才添加空格st.append(x);isNewWord = true; // 下一个非空格字符将是新单词的开始}} else if (x >= '0' && x <= '9') {if (i > 0 && c[i - 1] >= 'a' && c[i - 1] <= 'z') {st.append('_');}st.append(x);isNewWord = true; // 数字后可能是新单词的开始} else {// 处理其他字符(根据需求,可以选择忽略或处理)st.append(x);isNewWord = true;}}System.out.println(st.toString());}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词