基础(二)----字符串编辑

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41668547/article/details/86499207

【问题描述】

从键盘输入一个字符串(长度<=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中,即得到结果。

import java.util.Scanner;

public class Main{

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		StringBuffer str = new StringBuffer(scan.nextLine());
		String s = scan.nextLine();
		char c = s.charAt(0);
		if(c == 'D') {
			char c1 = s.charAt(2);
			if(str.indexOf(c1+"")>-1)
				str.delete(str.indexOf(c1+""), str.indexOf(c1+"")+1);
			System.out.println(str);
		}
		if(c == 'I') {
			char c1 = s.charAt(2);
			char c2 = s.charAt(4);
			int a = 0;
			int m = a;
			while(a > -1){
				m = a;
				a = str.indexOf(c1+"",a+1);
			}
			str.insert(m, c2);
			System.out.println(str);
		}
		if(c == 'R') {
			char c1 = s.charAt(2);
			while(str.indexOf(c1+"")>-1) {
				char c2 = s.charAt(4);
				str.replace(str.indexOf(c1+""), str.indexOf(c1+"")+1, c2+"");
			}

			System.out.println(str);
		}
	}

}

猜你喜欢

转载自blog.csdn.net/qq_41668547/article/details/86499207