java-模拟的例题实战

例题实战

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

1 把每个单词的首字母变成大写

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

3 把单词中间有多个空格的调整为一个空格

输入描述

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

示例输入

you are me what cpp2005program

输出

You And Me What Cpp_2005_program

代码

package Accommodate;
import java.util.*;
public class Main4 {
	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();
		int i=0;
		while (i<n) {
			char x=c[i];
			if(x>='a'&&x<='z') {
				if(i==0||c[i-1]==' ') {
					x^=32;
				}
				st.append(x);
				i++;
			}
			else if(x==' ') {
				st.append(x);
				while(c[i]==' ')i++;
			
			}
			else {
				if(i>0&&c[i-1]>='a'&&c[i-1]<='z')
					st.append('_');
				st.append(x);
				if(i+1<n&&c[i+1]>='a'&&c[i+1]<='z')
					st.append('_');
				i++;
			}
		}
		System.out.print(st);
	}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/457990.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读】MSGNet:学习多变量时间序列预测中的多尺度间序列相关性

MSGNet&#xff1a;学习多变量时间序列预测中的多尺度间序列相关性 文献介绍摘要总体介绍背景及当前面临的问题现有解决方案及其局限性本文的解决方案及其贡献 背景知识的相关工作背景知识问题表述&#xff1a; Method论文主要工作1.输入嵌入和剩余连接 (Input Embedding and R…

Java高级编程—泛型

文章目录 1.为什么要有泛型 (Generic)1.1 泛型的概念1.2 使用泛型后的好处 2.在集合中使用泛型3.自定义泛型结构3.1 自定义泛型类、泛型接口3.2 自定义泛型方法 4.泛型在继承上的体现5.通配符的使用5.1 基本使用5.2 有限制的通配符的使用 1.为什么要有泛型 (Generic) Java中的…

边缘计算与物联网的核心 —— 低功耗芯片

一、低功耗芯片 在边缘计算与物联网&#xff08;IoT&#xff09;中&#xff0c;低功耗芯片扮演了至关重要的角色&#xff0c;主要体现在以下几个方面&#xff1a; 延长设备寿命&#xff1a;物联网设备通常需要部署在难以更换电池或不方便进行频繁维护的环境中&#xff0c;比如…

软考高级:信息系统分类-业务处理系统(TPS)概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

工具篇--从零开始学Git

一、git概述 1.1安裝 windows版本 官方下载&#xff08;比较慢&#xff09;&#xff1a;Git - Downloads Linux版本 ​yum install git查看git版本。 git --version 1.2创建仓库gitee 注册账号 Gitee - 基于 Git 的代码托管和研发协作平台 新建仓库 honey2024 配置 git confi…

Jira自动化的实用工具——ScriptRunner简介及最佳实践

近日&#xff0c;龙智举办的DevSecOps研讨会年终专场“趋势展望与实战探讨&#xff1a;如何打好DevOps基础、赋能创新”在上海圆满落幕。龙智Atlassian技术与顾问咨询团队&#xff0c;以及清晖、JamaSoftware、CloudBees等生态伙伴的嘉宾发表了主题演讲&#xff0c;分享他们在D…

一、C#冒泡排序算法

一、C#冒泡排序算法 简介 冒泡排序算法是一种基础的排序算法&#xff0c;它的实现原理比较简单。核心思想是通过相邻元素的比较和交换来将最大&#xff08;或最小&#xff09;的元素逐步"冒泡"到数列的末尾。 实现原理 冒泡排序是一种简单的排序算法&#xff0c;其…

借助 mydumper 实现定期 MySQL 全量备份、恢复方案

一、Mydumper 工具介绍 mydumper 是一款社区开源的逻辑备份工具&#xff0c;由 C 语言编写&#xff0c;与 MySQL 官方提供的 mysqldump 相比&#xff0c;它具有更高的性能和更多的功能&#xff0c;例如&#xff1a; 支持多线程导出数据&#xff0c;速度更快&#xff1b; 支持…

JVM探究

JVM探究 请你谈谈你对JVM的理解&#xff1f;java -> class -> jvm java 8虚拟机和之前的变化更新OOM 内存溢出。栈溢出 StackOverFlowError > 怎么分析JVM的常用调优参数 &#xff1f; 扩大内存内存快照如何抓取&#xff0c;怎么分析Dump文件&#xff1f;知道吗&…

密码学——MAC

消息认证码 在信息发送和接收过程中,若攻击者能够得到信息,进行篡改,就能达到欺骗,诈骗,冒名顶替的作用。为了防止冒名诈骗,一个对策就是使用消息认证码——MAC: Message Authentication Code。 消息认证码,即确定消息真实性的认证程序。发件人将想要发送的信息和从哪个…

Spring Cloud Gateway如何实现熔断

Spring Cloud Gateway熔断集成 熔断应用&#xff1a; 金融市场中的熔断机制&#xff1a;在金融交易系统中&#xff0c;熔断机制&#xff08;Circuit Breaker&#xff09;是一种市场保护措施&#xff0c;旨在预防市场剧烈波动时可能导致的系统性风险。当某个基准指数&#xff08…

ArrayList和LinkedList区别

ArrayList和LinkedList是两个集合类&#xff0c;用于存储一系列的对象引用(references)。例如我们可以用ArrayList来存储一系列的String或者Integer。 1 问题 那么ArrayList和LinkedList在性能上有什么差别呢&#xff1f;什么时候应该用ArrayList什么时候又该用LinkedList呢&am…

Github 2024-03-15 Java开源项目日报 Top10

根据Github Trendings的统计,今日(2024-03-15统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目9非开发语言项目1TypeScript项目1《Hello 算法》:动画图解、一键运行的数据结构与算法教程 创建周期:476 天协议类型:OtherStar数量…

gin框架教程笔记

参考 官方中文文档&#xff1a;https://gin-gonic.com/zh-cn/docs/introduction/ 但是示例截图少 https://www.kancloud.cn/shuangdeyu/gin_book/949411 https://www.topgoer.com/gin%E6%A1%86%E6%9E%B6/ 这个网站不光有gin框架 适合阅读 吉米老师的 &#xff1a;https://www…

Redis基本使用

Redis基本使用 1.通用命令2.基本数据类型2.1 String2.2 Hash2.3 List2.4 Set2.5 SortedSet 3. SpringDataRedis3.1 简介3.2 快速代码示例3.3 序列化 1.通用命令 针对所有数据类型的操作可以在Redis官方文档查看。以下是通用的命令。 KEYS&#xff1a;查看符合模板的所有key D…

气压计LPS25HB开发(1)----轮询获取气压计数据

气压计LPS25HB开发----1.轮询获取气压计数据 概述视频教学样品申请源码下载产品特性通信模式速率生成STM32CUBEMX串口配置IIC配置SA0地址设置串口重定向参考程序SA0设置模块地址获取ID复位操作BDU设置设置速率轮询读取数据演示 概述 本文将介绍如何使用 LPS25HB 传感器来读取数…

QT信号与槽实现方式

1、第一种实现方式 在QT开发工具UI界面先拖入按钮&#xff0c;然后鼠标右键拖入按钮&#xff0c;点击选中槽&#xff0c;在页面选着需要的信号&#xff0c;然后OK&#xff0c;随即将会跳转到类的.cpp文件&#xff0c;&#xff08;这种UI代码结合的方式&#xff0c;会自动去绑定…

【剪枝实战】使用VGGNet训练、稀疏训练、剪枝、微调等,剪枝出只有3M的模型

摘要 本次剪枝实战是基于下面这篇论文去复现的&#xff0c;主要是实现对BN层的γ/gamma进行剪枝操作&#xff0c;本文用到的代码和数据集都可以在我的资源中免费下载到。 相关论文&#xff1a;Learning Efficient Convolutional Networks through Network Slimming (ICCV 2017…

【小白学机器学习9】自己纯手动计算验证,EXCEL的一元线性回归的各种参数值

目录 0 目标 1 构造模型 1.1 构造模型的思路 1.2 具体模型构造的EXCEL公式和过程 2 直接用EXCEL画图&#xff0c;然后生成趋势线的方式进行回归分析 2.1 先选择“观测值Y”的数据&#xff0c;用散点图或者折线图作图 2.2 然后添加趋势线和设置趋势线格式 2.3 生成趋…

服务器Debian 12.x中安装Jupyer并配置远程访问

服务器系统&#xff1a;Debian 12.x&#xff1b;IP地址&#xff1a;10.100.2.138 客户端&#xff1a;Windows 10;IP地址&#xff1a;10.100.2.38 利用ssh登录服务器&#xff1a; 1.安装python3 #apt install python3 2.安装pip #apt install python3-pip … 3.安装virtualen…