Java将字符串反转的7种方法

article/2025/9/25 6:37:00

java将字符串反转几种方法总结

主要方法:
(1)返回字符串的长度。

package com.cn;
public class Test {public static void main(String[] args) {String  str="hello world";System.out.println("字符串str的长度为:"+str.length());}
}

结果:
在这里插入图片描述
(2)返回字符串的子字符串

package com.cn;
public class Test {public static void main(String[] args) {String  str="hello world";System.out.println("字符串str的长度为:"+str.length());System.out.println("子字符串为:"+str.substring(3));System.out.println("子字符串为:"+str.substring(3,7));}
}

结果:
在这里插入图片描述
(3)字符串转化为字符数组。

package com.cn.reverse;
public class Test {public static void main(String[] args) {String s="asfrefg";char[] str = s.toCharArray();  //转化为字符数组for(int i = 0; i <s.length(); i++) {System.out.print(str[i]+" ");}}
}

结果:
在这里插入图片描述
1、递归方法。

package com.cn.reverse;
public class Demo1 {public static void main(String[] args) {System.out.println("字符串反转的结果为:"+str.reverse1("abcdef"));}
}
class str1{public static String reverse1(String s) {int length = s.length();   //字符串长度if(length <= 1){return s;}String left = s.substring(0, length / 2);  String right = s.substring(length / 2, length);  return reverse1(right) + reverse1(left);}
}

结果:
在这里插入图片描述
2、 通过 charAt(int index)返回char值进行字符串拼接。

package com.cn.reverse;
public class Demo2 {public static void main(String[] args) {System.out.println("字符串反转的结果为:"+str2.reverse2("frgsgcde"));}
}
class str2{public static String reverse2(String s) {int length = s.length();String reverse = "";for(int i = 0; i < length; i++)reverse = s.charAt(i) + reverse;return reverse;}
}

结果:
在这里插入图片描述
3、把字符串转换成字符数组倒叙拼接然后返回值。

package com.cn.reverse;
public class Demo3 {public static void main(String[] args) {System.out.println("字符串反转的结果为:"+str3.reverse3("123dfefvg"));}
}
class  str3{public static String reverse3(String s) {char[] array = s.toCharArray();String reverse = "";for(int i = array.length - 1; i >= 0; i--)reverse += array[i];return reverse;}
}

结果:
在这里插入图片描述
4、调用StringBuffer中的reverse方法。

package com.cn.reverse;
public class Demo4 {public static void main(String[] args) {System.out.println("字符串反转的结果为:"+str4.reverse4("frhj45a"));	}
}
class str4{public static String reverse4(String s) {return new StringBuffer(s).reverse().toString();}
}

结果:
在这里插入图片描述
5、把字符串转换成字符数组首位对调位置。

package com.cn.reverse;
public class Demo5 {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("字符串反转的结果为:"+str5.reverse5("123456"));	}
}
class str5{public static String reverse5(String str) {char[] s = str.toCharArray();  //转化为字符数组int n = s.length - 1;int halfLength = n / 2;for(int i = 0; i <= halfLength; i++) {char temp = s[i];s[i] = s[n - i];s[n - i] = temp;}return new String(s);}
}

结果:
在这里插入图片描述
6、

package com.cn.reverse;
public class Demo6 {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("字符串反转的结果为:"+str6.reverse6("frhs5p5"));	}
}
class  str6{public static String reverse6(String s) {char[] str = s.toCharArray();  //转化为字符数组int begin = 0;int end = s.length() - 1;   //6while(begin < end) {str[begin] = (char) (str[begin] ^ str[end]);str[end] = (char) (str[begin] ^ str[end]);str[begin] = (char) (str[end] ^ str[begin]);begin++;end--; }return new String(str);}
}

结果:
在这里插入图片描述
7、借助栈的特点:先进后出。

package com.cn.reverse;
import java.util.Stack;
public class Demo7 {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("字符串反转的结果为:"+str7.reverse7("sfghv4sl"));	}
}
class str7{public static String reverse7(String s) {char[] str = s.toCharArray();  //转化为字符数组Stack<Character> stack = new Stack<Character>();for (int i = 0; i < str.length; i++)stack.push(str[i]);String reversed = "";for (int i = 0; i < str.length; i++)reversed += stack.pop();return reversed;}
}

结果:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/w6wi2bQZ.shtml

相关文章

Java将字符串反转的几种方式

工作中偶尔会遇到需要将字符串反转的需求&#xff0c;下面来介绍反转字符串的几种方式 一、使用 StringBuilder 或 StringBuffer 的 reverse 方法 他们的本质都是调用了它们的父类 AbstractStringBuilder 的 reverse 方法实现的&#xff08;需要JDK1.8&#xff09; /*** 使用S…

Windows8.1环境如何删除FlashHelperService.exe文件

Windows8.1环境如何删除FlashHelperService.exe文件 自从装了最新版Flash&#xff0c;每次开机都会弹出FF广告&#xff0c;看了下进程管理器&#xff0c;显示是FlashHelperService.exe文件&#xff0c;定位文件位置。在C盘&#xff1a;C:\Windows\SysWOW64\Macromed\Flash中找…

Memcached简介

Memcached简介 1.Memcached是什么&#xff1f; Memcached是一套高性能的、分布式存储对象缓存系统。 许多 Web 应用将数据保存到关系型数据库( RDBMS&#xff0c;如 MySQL )中&#xff0c;服务器从中读取数据并显示在浏览器中。 随着数据量的增大、访问的集中&#xff0c;就…

micro和macro Fscore的区别

参考链接 macro是先计算出每一类的类别&#xff0c;然后再求平均 micro是将所有类别混合在一起&#xff0c;计算多类别的共同的F1

MEC架构

文章目录 MEC架构MEC参考架构MEC host&#xff1a;MEC platformMEC applicationMEC 系统级管理Multi-access edge orchestratorOperations Support System (OSS)User application lifecycle management proxy MEC主机级管理MEC platform managerVirtualisation infrastructure …

MCMC

背景 给定一个的概率分布 p(x) , 我们希望产生服从该分布的样本。前面介绍过一些随机采样算法&#xff08;如拒绝采样、重要性采样&#xff09;可以产生服从特定分布的样本&#xff0c;但是这些采样算法存在一些缺陷&#xff08;如难以选取合适的建议分布&#xff0c;只适合一…

Mac’s Homebrew

黄金三问&#xff1a;what&#xff0c;why&#xff0c;how macOS&#xff08;或 Linux&#xff09;缺失的软件包的管理器 — Homebrew 官网的说明文档会详细告诉我们。 一&#xff1a;查看Homebrew是否安装下载&#xff1a; 终端输入命令行brew &#xff08;1&#xff09;当…

MEC

MEC&#xff08;Multi-access/Mobile Edge Computing&#xff0c;多接入移动边缘计算&#xff09;是ETSI&#xff08;European Telecommunications Standards Institute&#xff0c;欧洲电信标准化协会&#xff09;提出的边缘计算用于移动通信网络的概念。在边缘计算&#xff0…

Metabolomics

样本选择 血浆 Blood Plasma 血浆主要作用运载血细胞&#xff0c;运输维持人体生命活动所需物质和体内废物等。血浆相当于结缔组织的细胞间质。血浆是血液重要组成部分&#xff0c;呈淡黄色液体&#xff08;因含有胆红素&#xff09;。血浆的化学成分水分占90~92%&#xff0c;其…

MACE

作者&#xff1a;无用 QQ&#xff1a;929994365 MACE 目录 介绍 环境搭建 实例运行 一、简介&#xff08;Introduction&#xff09; MACE&#xff08;移动AI计算引擎&#xff09;是一种针对移动异构计算平台优化的深度学习推理框架。MACE覆盖了常见的移动端计算设备&#x…

操作系统:Win10如何彻底卸载自带的Flash软件

Win10操作系统中&#xff0c;Flash功能是系统自带的&#xff0c;我们无法直接通过应用管理来找到Flash&#xff0c;所以也不能从系统设置或者控制面板中卸载它。当然如果你是后期自己安装的话&#xff0c;可以通过控制面板找到Flash然后直接卸载它。 Flash的路径为“C:\Windows…

Hadoop应用案例分析

hadoop是什么?hadoop能有哪些应用?hadoop和大数据是什么关系?下面我们将围绕这几个问题详细阐述。 hadoop是什么? Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下&#xff0c;开发分布式程序。充分利用集群的威力进行…

Hadoop 大数据技术原理与应用

Hadoop 大数据技术原理与应用 大数据概述 定义 特征 大量&#xff0c;多样&#xff0c;高速&#xff0c;价值 研究意义 应用场景 医疗&#xff0c;金融&#xff0c;零售 Hadoop 概述 历史 优势 扩容能力强&#xff0c;成本低&#xff0c;高效率&#xff0c;可靠性&a…

大数据-Hadoop应用

一、初识Hadoop 以一个小故事解释什么是Hadoop&#xff1a; 小明接到一个任务&#xff1a;计算一个100M的文本文件中的单词的个数&#xff0c;这个文本文件有若干行&#xff0c;每行有若干个单词&#xff0c;每行单词与单词之间均以空格键隔开。对于处理这种100M量级数据的计…

Spark应用场景以及与hadoop的比较

Spark应用场景以及与hadoop的比较 一、大数据的四大特征: a.海量的数据规模(volume) b.快速的数据流转和动态的数据体系(velocity) c.多样的数据类型(variety) d.巨大的数据价值(value) 二.Spark 和 Hadoop的不同 Spark是给予map reduce 算法实现的分布式计算,拥有Ha…

Hadoop、Storm和Spark主流分布式系统特点和应用场景

最初我们来到这个世界&#xff0c;是因为不得不来&#xff1b;最终我们离开这个世界&#xff0c;是因为不得不走。——《余华作品集》 1、概述 大数据现在是业内炙手可热的话题&#xff0c;随着技术的发展&#xff0c;如HDFS&#xff0c;大数据存储技术已经不在是难点&#xff…

Hadoop大数据分析应用场景

J 为了满足日益增长的业务变化&#xff0c;京东的京麦团队在京东大数据平台的基础上&#xff0c;采用了hadoop等热门的开源大数据计算引擎&#xff0c;打造了一款为京东运营和产品提供决策性的数据类产品-北斗平台。 一、Hadoop的应用业务分析 大数据是不能用传统的计算技术处理…

Hadoop:MapReduce应用

文章目录 一、Join多种应用1.1 Reduce Join1.2 Map Join 二、计数器应用三、数据清洗(ETL)四、MapReduce开发总结 一、Join多种应用 1.1 Reduce Join Reduce Join工作原理&#xff1a; Map端的主要工作&#xff1a;为来自不同表&#xff08;文件&#xff09;的key/value对打…

大数据分析项目实例:Hadoop数据分析应用场景

对于海量数据价值的挖掘&#xff0c;需要通过大数据分析来实现&#xff0c;而这些数据由于具有不同于传统数据的新特征&#xff0c;传统的数据分析技术和工具都不能高效的进行处理&#xff0c;因而才有了基于大数据技术平台进行大数据分析的需求。今天&#xff0c;我们以Hadoop…

Hadoop常见场景

本篇文章主要列举一些Hadoop常用场景 ​ 主要是以下几种 ​ 高可用集群 ​ 节点新增/减少/拉黑 ​ HDFS数据迁移 ​ 大量小文件存储 ​ 高可用集群 ​ 一句话概括 双namenode消除单点故障 ​ 过程&#xff1a; ​ 对active Namenode进行的任何操作&#xff0c;都会同…