南昌网站建设方案,国外优秀app设计网站有哪些,985建设网站,公司请做网站题目描述
你需要开发一款文字处理软件。最开始时输入一个字符串作为初始文档。可以认为文档开头是第 00 个字符。需要支持以下操作#xff1a;
1 str#xff1a;后接插入#xff0c;在文档后面插入字符串 strstr#xff0c;并输出文档的字符串#xff1b;2 a b#xff…题目描述
你需要开发一款文字处理软件。最开始时输入一个字符串作为初始文档。可以认为文档开头是第 00 个字符。需要支持以下操作
1 str后接插入在文档后面插入字符串 strstr并输出文档的字符串2 a b截取文档部分只保留文档中从第 a 个字符起 b 个字符并输出文档的字符串3 a str插入片段在文档中第 a 个字符前面插入字符串 strstr并输出文档的字符串4 str查找子串查找字符串 strstr 在文档中最先的位置并输出如果找不到输出 −1−1。
为了简化问题规定初始的文档和每次操作中的 strstr 都不含有空格或换行。最多会有 q 次操作。
输入格式
第一行输入一个正整数 q表示操作次数。
第二行输入一个字符串 strstr表示最开始的字符串。
第三行开始往下 q 行每行表示一个操作操作如题目描述所示。
输出格式
一共输出 q 行。
对于每个操作 1,2,31,2,3根据操作的要求输出一个字符串。
对于操作 44根据操作的要求输出一个整数。
输入输出样例 输入 1复制
4
ILove
1 Luogu
2 5 5
3 3 guGugu
4 gu
输出 #1复制
ILoveLuogu
Luogu
LuoguGugugu
3
说明/提示
数据保证1≤1001≤q≤100开始的字符串长度 ≤100≤100。
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int q sc.nextInt();//注意每次需要更新str字符串String str sc.next();for (int i 0; i q; i) {int command sc.nextInt();if (command 1) {String firstStr sc.next();System.out.println(str firstStr);str str firstStr;} else if (command 2) {int a sc.nextInt();int b sc.nextInt();//从a起第b个字符String substring str.substring(a,ab);System.out.println(substring);str substring;} else if (command 3) {int insertIndex sc.nextInt();String addStr sc.next();StringBuffer stringBuffer new StringBuffer(str);StringBuffer insertStr stringBuffer.insert(insertIndex, addStr);System.out.println(insertStr);str String.valueOf(insertStr);} else if (command 4) {String find sc.next();int index str.indexOf(find);System.out.println(index);}}}
}