当前位置: 首页> 科技> 互联网 > 字符串操作java

字符串操作java

时间:2025/7/14 21:18:50来源:https://blog.csdn.net/2302_80341024/article/details/139395480 浏览次数:4次

题目:

描述

给定长度为n的只有小写字母的字符串s,进行m次操作,每次将[l,r]范围内所有c1字符改成c2,输出操作完的字符串

输入描述:

第一行两个数n,m
第二行一个字符串s
之后m行,每行两个数l 、r两个字符c1、 c2

输出描述:

输出一行一个字符串

示例1

解题代码:

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);StringBuilder stb=new StringBuilder();int n=in.nextInt();int m=in.nextInt();int l=0;int r=0;char[] arr=new char[2];String s=in.next();stb.append(s);for(int j=0;j<m;j++){for(int i=0;i<4;i++){if(i<1){l=in.nextInt();}else if(i<2){r=in.nextInt();}else{String d=in.next();arr[i-2]=d.charAt((0));}}for(int i=l-1;i<=r-1;i++){if(s.charAt(i)==arr[0]){stb.setCharAt(i,arr[1]);}}s=stb.toString();}System.out.println(s);}
}

解析:

这道题涉及到修改字符串中某一个字母,我们不能直接对字符串某个字母进行修改(字符串不可变性),所以要借助StringBuilder

先创建StringBuilder,使得存储与字符串S相同的字符串

String s=in.next();stb.append(s);

然后利用StringBuilder 方法setCharAt(int index,char ch),去修改对应位置字符

修改完毕后利用stb.toString()返回字符串让S接收;

最后打S

关键字:字符串操作java

版权声明:

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

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

责任编辑: