首页 > 作文

Java字符串中指定部分反转的三种方式

更新时间:2023-04-04 10:02:06 阅读: 评论:0

将“asdfghj”反转为“ashgfdj”

方式一:把字符串转化为char[]

调用string类中tochararray()方法把字符串转化为字符,而后开始时索引和结束时索引利用for()循环反转指定字符,结束

public class stringdemo {     public static void main(string[] args) {        stringdemo stringdemo = new stringdemo();        string str1 = "asdfghj";        string str2 = stringdemo.rever1(str1,2,5);        system.out.println("反转后为:" + str2);    }     public string rever1(string str, int start, int end) {        if (str != null) {            char[] chararray = str.tochararray();            for (int i = start, j = end; i < j; i++, j--) {                char temp = chararray[i];                chararray[i] = chararray[j];                chararray[j] = temp;            }            return new string(chararray);        }        return null;    }}

运行结果:

反转后为:ashgfdj

方式二:使用string的拼接

将字符串分割为三部分:需反转字符串前,需反转字符串,需反转字符串之后,调用substring()方法截取字符串,循环倒序遍历需反转字符串部分,后拼接这三部分

    public static void main(string[] args) {        stringdemo stringdemo = new stringdemo();        string str1 = "asdfghj";        string str2 = stringdemo.rever1(str1,2,5);        system.out.println("反转后为:" + str2);    }     public string rever1(string str, int start, int end) {        // 第一部分        string newstr = str.substring(0, start);  gotten      // 第二部分        for (int i = end; i >= start; i--) {            newstr += str.charat(i);        }        // 第三部分        newst中国工业革命r += str.substring(end + 1);        return newstr;    }

运行结果:

反转后为:ashgfdj

方式三:使用stringbuffer/stringbuilder替换string

相较于方式二的改进,用stringbuilder中append()方法代替方式二中“+=”,效率更高

public class stringdemo {     public static void main(string[] args) {        stringdemo stringdemo = new strin饰情矫行gdemo();        string str1 = "asdfghj";        string str2 = stringdemo.rever1(str1,2,5);        system.out.println("反我的文具盒作文转后为:" + str2);    }     public string rever1(string str, int start, int end) {        stringbuffer s = new stringbuffer(str.length());        // 第一部分        s.append(str.substring(0, start));        // 第二部分        for (int i = end; i >= start; i--) {            s.append(str.charat(i));        }        // 第三部分        s.append(str.substring(end + 1));        return s.tostring();    }}

运行结果:

反转后为:ashgfdj

注:在方式三中,仅是字符串反转操作,不需要考虑线程安全问题,所以优先选择stringbuilder

附实战例子

对字符串中指定的部分进行旋转,如str=”mmabcdfeffnn”,指定abcdfeff部分进行旋转,则得到字符串str=”mmffefdcbann”。

其实现的思路,我是这样的:将源字符串分为三部分,头,待旋转,尾,其中这三部分都需要进行采取截取的操作,而对于待旋转的部分,这里采用了一个技巧,那就是借用了stringbuffer(string string)作为中介,并调用其中的rever()方法进行旋转。最后得到的三部分:头,已旋转,尾,进行连接concat(string string)操作即可。

代码如下:

/** * 字符串指定的部分进行反转 * @author zhonglinn * 2016-3-1 下午 */public class stringrever {    public static void main(string[] args) {        string str="mmabcdefnn";        int start=2;        int end=7;                 system.out.println("原先字符串:          "+str);        string strnew=strrever(str, start, end);    加工合同范本    system.out.println("旋转了指定位置后的字符串: "+strnew);    }         public static string strrever(string strarg,int start,int end){                 string strstart=strarg.substring(0,start);                 string strend=strarg.substring(end+1,strarg.length());         string strsub=strarg.substring(start, end+1);         stringbuffer sb=new stringbuffer(strsub);        strsub=sb.rever().tostring();                 return strstart.concat(strsub).concat(strend);    }}

总结

到此这篇关于java字符串中指定部分反转的文章就介绍到这了,更多相关java字符串指定部分反转内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

本文发布于:2023-04-04 10:02:04,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/0fe6e553e9921d9b9551887a68030a11.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:Java字符串中指定部分反转的三种方式.doc

本文 PDF 下载地址:Java字符串中指定部分反转的三种方式.pdf

标签:字符串   后为   方式   方法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图