我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Java字符串中指定部分反转的方式有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Java字符串中指定部分反转的方式有哪些

这篇文章主要讲解了“Java字符串中指定部分反转的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java字符串中指定部分反转的方式有哪些”吧!

将“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.reverse1(str1,2,5);        System.out.println("反转后为:" + str2);    }     public String reverse1(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.reverse1(str1,2,5);        System.out.println("反转后为:" + str2);    }     public String reverse1(String str, int start, int end) {        // 第一部分        String newStr = str.substring(0, start);        // 第二部分        for (int i = end; i >= start; i--) {            newStr += str.charAt(i);        }        // 第三部分        newStr += str.substring(end + 1);        return newStr;    }

运行结果:

反转后为:ashgfdj

方式三:使用StringBuffer/StringBuilder替换String

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

public class StringDemo {     public static void main(String[] args) {        StringDemo stringDemo = new StringDemo();        String str1 = "asdfghj";        String str2 = stringDemo.reverse1(str1,2,5);        System.out.println("反转后为:" + str2);    }     public String reverse1(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)作为中介,并调用其中的reverse()方法进行旋转。最后得到的三部分:头,已旋转,尾,进行连接concat(String string)操作即可。

代码如下:

public class StringReverse {    public static void main(String[] args) {        String str="mmabcdefnn";        int start=2;        int end=7;                 System.out.println("原先字符串:          "+str);        String strNew=strReverse(str, start, end);        System.out.println("旋转了指定位置后的字符串: "+strNew);    }         public static String strReverse(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.reverse().toString();                 return strStart.concat(strSub).concat(strEnd);    }}

感谢各位的阅读,以上就是“Java字符串中指定部分反转的方式有哪些”的内容了,经过本文的学习后,相信大家对Java字符串中指定部分反转的方式有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Java字符串中指定部分反转的方式有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Java字符串中指定部分反转的方式有哪些

这篇文章主要讲解了“Java字符串中指定部分反转的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java字符串中指定部分反转的方式有哪些”吧!将“asdfghj”反转为“ashgf
2023-06-22

java字符串反转的方法有哪些

这篇文章主要介绍了java字符串反转的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、用stringBuffer或者stringBuilder自带的reverse
2023-06-29

Python中实现字符串反转的方法有哪些

今天小编给大家分享一下Python中实现字符串反转的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言一道题目是实
2023-06-30

php中定义字符串的方式有哪些

php中定义字符串有如下四种方式:单引号(单引):使用单引号定义,字符串中的单引号需转义。双引号(双引):与单引号类似,但允许字符串中使用变量,变量值会替换。heredoc 语法:使用 PHP 中定义字符串的方式单引号 (单引):使用单引
php中定义字符串的方式有哪些
2024-04-29

Java中字符串转int数据类型的方式有哪些

这篇“Java中字符串转int数据类型的方式有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中字符串转int数据
2023-07-05

php字符串的定义方式有哪些

本文小编为大家详细介绍“php字符串的定义方式有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“php字符串的定义方式有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。有4种定义方式:1、用单引号包裹字符,
2023-07-02

python字符串定义的方式有哪些

本篇文章和大家了解一下python字符串定义的方式有哪些。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。Python是一种广泛使用的编程语言,特别是在数据分析、机器学习和人工智能领域。在Python中,字符串是一个非常重要
2023-07-06

JAVA之String中删除指定字符方式的方法有哪些

本篇内容主要讲解“JAVA之String中删除指定字符方式的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JAVA之String中删除指定字符方式的方法有哪些”吧!第一种方法通过循环从
2023-07-05

php中字符串转为数字类型的方式有哪些

这篇文章主要讲解了“php中字符串转为数字类型的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中字符串转为数字类型的方式有哪些”吧!以下是PHP中字符串转为数字类型的几种方式
2023-07-05

Java中字符串常见的拼接方式有哪些

这篇“Java中字符串常见的拼接方式有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java中字符串常见的拼接方式有哪些
2023-07-05

Java代码中字符串拼接方式有哪些

这篇文章主要为大家展示了“Java代码中字符串拼接方式有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java代码中字符串拼接方式有哪些”这篇文章吧。分析过程环境系统: windows 10
2023-06-29

oracle中转义字符串的方法有哪些

在Oracle中,可以使用以下方法来转义字符串:1. 使用单引号转义:如果字符串中包含单引号,可以使用两个连续的单引号来表示一个单引号。例如,要插入的字符串是 "It's raining",可以使用如下语法进行转义:'It''s raini
2023-08-31

java字符串数组定义的方法有哪些

在Java中,有以下几种方式来定义字符串数组:1. 使用大括号定义字符串数组:可以通过在大括号中以逗号分隔字符串的方式来定义一个字符串数组。例如:String[] strArray = {"Hello", "World"};2. 使用new
2023-10-18

java中判断字符串中是否包含某个特定字符串的方法有哪些

判断一个字符串是否包含某个子串的n种方法:1、startsWith()方法2、contains()方法3、indexOf方法startsWith()方法这个方法有两个变体,用于检测字符串是否以指定的前缀开始。此方法定义的语法如下:public boolean
java中判断字符串中是否包含某个特定字符串的方法有哪些
2020-12-27

python中有哪些格式化字符串的方法

本篇文章为大家展示了python中有哪些格式化字符串的方法,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬
2023-06-14

PHP中转换字符串大小的方法有哪些

这篇文章主要讲解了“PHP中转换字符串大小的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP中转换字符串大小的方法有哪些”吧!假设有这样的一个问题,“如何编写一个PHP脚本,实
2023-06-20

Java中拼接字符串String的方法有哪些

这篇文章主要介绍“Java中拼接字符串String的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java中拼接字符串String的方法有哪些”文章能帮助大家解决问题。1. 前言Java
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录