算法训练 字符串编辑
时间限制:1.0s 内存限制:512.0MB

问题描述
  从键盘输入一个字符串(长度<=40个字符),并以字符 ’.’ 结束。编辑功能有:
  1 D:删除一个字符,命令的方式为: D a 其中a为被删除的字符,例如:D s 表示删除字符 ’s’ ,若字符串中有多个 ‘s’,则删除第一次出现的。
  2 I:插入一个字符,命令的格式为:I a1 a2 其中a1表示插入到指定字符前面,a2表示将要插入的字符。例如:I s d 表示在指定字符 ’s’ 的前面插入字符 ‘d’ ,若原串中有多个 ‘s’ ,则插入在最后一个字符的前面。
  3 R:替换一个字符,命令格式为:R a1 a2 其中a1为被替换的字符,a2为替换的字符,若在原串中有多个a1则应全部替换。
  在编辑过程中,若出现被改的字符不存在时,则给出提示信息。
输入格式
  输入共两行,第一行为原串(以’.’结束),第二行为命令(输入方式参见“问题描述” 。
输出格式
  输出共一行,为修改后的字符串或输出指定字符不存在的提示信息。
样例输入
This is a book.
D s
样例输出
Thi is a book.
输入输出样例解释
  命令为删去s,第一个在字符中出现的s在This中,即得到结果。

package lqtest;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;public class StrEdit {public static void main(String[] args) throws IOException {BufferedReader br=new BufferedReader(new InputStreamReader(System.in));StringBuffer str=new StringBuffer(br.readLine());//StringBuffer才有增删改查。Scanner sc=new Scanner(System.in);//Scanner与BufferedReader有区别。//String str=sc.nextLine();String k=sc.nextLine();String keys[]=k.split(" ");char key[]=keys[0].toCharArray();sc.close();edit(key[0],keys,str);System.out.println(str);}public static void edit(char a,String keys[],StringBuffer str){switch(a){case 'D':case 'd':for(int i=0;i<str.length();i++){if(new Character(str.charAt(i)).toString().equals(keys[1])){str.deleteCharAt(i);break;}}break;case 'I':case 'i':for(int i=str.length()-1;i>0;i--){if(new Character(str.charAt(i)).toString().equals(keys[1])){str.insert(i, keys[2]);break;}}break;case 'R':case 'r':for(int i=0;i<str.length();i++){if(new Character(str.charAt(i)).toString().equals(keys[1])){str.replace(i, i+1, keys[2]);}}break;default:break;}}}

算法训练 字符串编辑 java相关推荐

  1. 算法训练 字符串编辑(java)

    算法训练 字符串编辑 描述 从键盘输入一个字符串(长度<=40个字符),并以字符 '.' 结束.编辑功能有: 1 D:删除一个字符,命令的方式为: D a 其中a为被删除的字符,例如:D s 表 ...

  2. 算法训练 字符串编辑c语言

    算法训练 字符串编辑 时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个字符串(长度<=40个字符),并以字符 '.' 结束.编辑功能有: 1 D:删除一个字符,命令的方式为 ...

  3. 蓝桥杯 ALGO-66 算法训练 字符串编辑

    问题描述 从键盘输入一个字符串(长度<=40个字符),并以字符 '.' 结束.编辑功能有: 1 D:删除一个字符,命令的方式为: D a 其中a为被删除的字符,例如:D s 表示删除字符 's' ...

  4. 算法训练 字符串的展开

    ** 算法训练 字符串的展开 ** 在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有 类似于"d-h"或者& ...

  5. 蓝桥杯 试题 算法训练 筛选号码 Java

    蓝桥杯 试题 算法训练 筛选号码Java 算法训练 筛选号码 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3 ...

  6. 蓝桥杯算法训练 礼物(java,个人想法,递归找临界点)

    蓝桥杯算法训练 礼物(java,个人想法,递归找临界点) 问题描述 JiaoShou在爱琳大陆的旅行完毕,即将回家,为了纪念这次旅行,他决定带回一些礼物给好朋友. 在走出了怪物森林以后,JiaoSho ...

  7. [Java] 蓝桥杯ALGO-143 算法训练 字符串变换

    问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了.今天,徐老师想测试一下大家对于字符串操作的掌握情况.徐老师自己定义了1,2,3,4,5这5个参数分别指代不同的5种字符串 ...

  8. 蓝桥杯 ALGO-143 算法训练 字符串变换

    问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了.今天,徐老师想测试一下大家对于字符串操作的掌握情况.徐老师自己定义了1,2,3,4,5这5个参数分别指代不同的5种字符串 ...

  9. 蓝桥杯 ALGO-27 算法训练 FBI树 Java版

    问题描述 我们可以把由"0"和"1"组成的字符串分为三类:全"0"串称为B串,全"1"串称为I串,既含"0&q ...

最新文章

  1. 【Java】数据结构之 顺序表(MyArrayList)
  2. 参数迁移表达的第三种形态相互作用
  3. activity 防止多次打开_Android开发Activity任务和返回栈
  4. SecureCRT免费版下载
  5. S32K FTM(FlexTimer module)详解
  6. 云服务器 搭建虚拟主机,云服务器 搭建虚拟主机
  7. Eigen中四元数Quaterniond的初始
  8. 定位python内存泄漏问题
  9. 三维旋转矩阵;东北天坐标系(ENU);地心地固坐标系(ECEF);大地坐标系(Geodetic);经纬度对应圆弧距离
  10. 解决:L2TP服务器没有响应。请尝试重新连接。如果仍然有问题,请验证您的设置并与管理员联系。
  11. 如何实现远程控制网络设备
  12. 亚马逊 CTO 预测2021:八大技术趋势改变世界
  13. NowCoder LCMs(莫比乌斯反演)
  14. [源码解析] PyTorch 流水线并行实现 (6)--并行计算
  15. 数据文件丢失找那个数据恢复公司靠谱呢
  16. 计算机系统验证供应商评估,计算机化系统验证条款解读
  17. 装机必备(五)---Win10 + Ubuntu16.04双系统
  18. 关于Mac便笺,你还不知道的那些快捷键!
  19. 输出总结是成长的开始
  20. 苹果11怎么录屏_苹果7怎么录屏?这篇干货教程给你答案

热门文章

  1. hdu 1565 方格取数(1)
  2. 纪念第一个正式的java程序
  3. 数据结构-数组模拟队列-环形实现(JAVA)
  4. mysql 磁盘利用率100_磁盘空间使用率100%的故障处理
  5. python keyerror_python 日常笔记 - namedtuple
  6. java枚举新特性_java回顾之枚举和新特性
  7. python集合数据对象_python学习第七天 基础数据类型补充 深浅copy 集合 关键字后面加可迭代对象...
  8. vc 文本框 只显示下划线_Word手动添加下划线就out了?虚线、波浪线、双下划线一键搞定...
  9. JAVA模拟肯德基点餐系统源码,肯德基辞职员工透露,用这几句暗语点餐,你拿的分量会比别人多...
  10. python中break和continue区别_Shell break和continue跳出循环详解