Java基础知识强化08:将字符串倒序输出(包括空格)的几种方法

2023-11-19

1.最容易想到的估计就是利用String类的toCharArray(),再倒序输出数组的方法了:

 1 package himi.hebao05;
 2 
 3 public class TestDemo02 {
 4     public static void main(String[] args) {
 5         int i = 0;
 6         String text = "hebao I love you!";
 7         String result = " ";
 8         char[] charArray = text.toCharArray();
 9         for(int j = charArray.length-1; j>=0; j--) {
10                 result += charArray[j];
11         }
12         System.out.println(result);
13     }
14   }  

这里将String字符串类型的数据(末尾没有\0)转化为char[]字符数组,这样就可以一个个控制倒序输出:结果如下:

 

2.字符串定义为String类,转化为一个StringBuffer类,用StringBuffer类中的reverse()方法直接倒序字符串。

 1 package himi.hebao05;
 2   
 3 public class TestDemo02 {
 4      public static void main(String[] args) {
 5           int i = 0;
 6           String text = "hebao I love you!";
 7              reverseString1(text);
 8       }
 9      
10      
11      public static void reverseString1(String text) {
12          StringBuffer stringBuffer = new StringBuffer(text);
13          System.out.print(stringBuffer.reverse());
14      }
15      
16  }

 

运行的结果如下:

 

3. 对字符串转化为byte[],byte[]是将字符串每个字符存储为byte类型,但是不是char类型。所以这里不能直接倒序输出(不能类似1那样)。但是我们可以将字符串转化为byte[]之后进行元素的首尾对称交换,这样可以实现倒序输出的目的:

 1 package himi.hebao05;
 2 
 3 public class TestDemo02 {
 4     public static void main(String[] args) {
 5         int i = 0;
 6         String text = "hebao I love you!";
 7         System.out.println(reverseString2(text));
 8 
 9     }
10     
11     public static String  reverseString2(String text) {
12         if(text == null || text.length() <0 ) {
13             return "ERROR";
14         }
15         byte[] bytes = text.getBytes();
16         for(int i=0; i<bytes.length/2; i++) {
17             byte b= bytes[i];
18             bytes[i] = bytes[bytes.length-1-i];
19             bytes[bytes.length-1-i] = b;
20         }
21         
22         return  new String(bytes);
23     }
24 
25 }

输出结果如下:

 

4. 也可以使用第三方工具包StringUtils中的字符串反转方法

 

转载于:https://www.cnblogs.com/hebao0514/p/4771318.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java基础知识强化08:将字符串倒序输出(包括空格)的几种方法 的相关文章

  • Android 相机:线程?哪个应该做什么

    我试图弄清楚哪些线程应该在 Android 中执行哪些操作 我发现官方文档中唯一说明的是camera open 应该放入它自己的线程中 关于什么 camera startPreview camera stopPreview camera r
  • 使用现有同级属性值对属性进行 Jackson 多态反序列化

    我有一个现有的Request Response协议使用JSON我无法控制 示例1 响应JSON不需要任何多态反序列化 name simple response params success true 示例2 响应JSON需要对 params
  • 您最好的 Swing 设计模式和技巧是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何使用 selenium 和 junit 测试多个浏览器(版本)

    我刚刚发现了硒 一个很棒的工具 我计划运行 使用 selenium ide 生成的 junit4 代码 但我需要它与许多浏览器 网络驱动程序一起运行 这个用例有 junit java 模式吗 我的第一个想法是使用 RunWith Param
  • 如何在 Android 上将 ISO 8601 字符串解析为 Java 日期 [重复]

    这个问题在这里已经有答案了 我正在 Android 上创建一个与服务器通信的应用程序 该服务器给我返回了一个ISO 8601 http en wikipedia org wiki ISO 8601日期字符串 如下所示 2014 11 21
  • Java 中的双精度小数格式

    我在格式化双精度数的小数时遇到一些问题 如果我有双重值 例如4 0 如何格式化小数 使其变为 4 00 其中一种方法是使用数字格式 http docs oracle com javase tutorial i18n format decim
  • JDK 11/JavaFX:如何在没有构建/依赖管理的情况下制作胖罐子?

    我认为不用说 我应该能够使用 Oracle 自己的 JDK 和 JavaFX 来自 gluonhq 来构建用户可以使用的可分发 jar 文件 经过详尽的搜索 大量阅读 过去几个月 24 小时或更长时间 最后是这个 Google 搜索查询 h
  • Jenkins 中未找到 Maven

    我正在 Jenkins 中运行我的 Maven Spring 项目 只是第一次测试它 使用 shell 脚本选项 mvn spring boot run 我收到构建错误 Users Shared Jenkins tmp jenkins808
  • Jackson - 将值传递给 JsonDeserializer

    我有一个现有的类层次结构 如下所示 public interface Service String getId String getName public class FooTask extends AbstractTask private
  • Java 中的工作线程

    我需要通过线程每分钟从表中读取数据 然后执行某些操作 任务完成后 我是否应该启动一个线程并将其置于睡眠模式 1 分钟 然后再次检查表是否有数据 再次执行任务并休眠 1 分钟 这是正确的方法吗 任何人都可以为我提供一些 Java 示例代码来执
  • Groovy 2.0.1,我自己的类上有 GroovyCastException?

    我在我的网络应用程序项目中广泛使用 Groovy 类 我可以创建类型的实例 定义为 groovy 类 但以后永远不能转换回它 GroovyCastException发生 org codehaus groovy runtime typehan
  • W/Firestore:[CustomClassMapper]:Android 类没有设置器/字段

    我试图使用 Recyclerview 从 Documents 类加载数据 但 logcat 上出现错误 W Firestore 21 1 1 CustomClassMapper No setter field for Document Na
  • 如何将 csv/文本文件从 Android 手机发送到 WiFi 打印机?

    我正在开发一个 Android 应用程序 我应该从数据库中获取 csv txt 文件格式的数据 然后我必须将文件发送到 wifi 打印机 有谁知道我如何开始这样做 答案终于很简单 Socket client new Socket IP PO
  • Apache PDFBox 旋转 PDImageXObject

    我正在使用 2 0 0 SNAPSHOT 我想将页面设置为横向并旋转我的图片 所以我已经做到了page setRotation 90 使用 PDFBox 和 AffineTransform 似乎存在错误 这段代码没有做任何我期望的事情 Af
  • 从 java 反射中隐藏我的安全密钥

    下面的类是我用于加密的安全密钥提供程序 public class MySecretKey private String key 2sfdsdf7787fgrtdfg cj5 Some Util methods goes on Here 首先
  • 为什么 CompletableFuture.allOf 声明为 CompletableFuture

    Why is CompletableFuture allOf声明为CompletableFuture
  • java 未知深度的嵌套哈希图

    我有一个要求 我需要有一个嵌套的哈希图 但深度将在运行时决定 例如 如果在运行时 用户说 3 那么我的哈希图应该是这样的 HashMap
  • 将 JVM 参数放入要在运行时获取的文件中

    我正在构建当前应用程序的 jar 它需要设置几个 JVM 参数 有没有办法在文件中而不是在命令行上设置这些 JVM 参数 我已经做了一些搜索 看起来我可以使用 java properties 文件做一些事情 可能通过设置 java args
  • 客户端和服务器之间的安全连接

    我正在开发一个服务器组件 它将为嵌入式客户端的请求提供服务 这也在我的控制之下 现在一切都是测试版 安全性是这样的 客户端通过 https 发送用户名 密码 服务器返回访问令牌 客户端使用自定义标头中的访问令牌通过 http 发出进一步请求
  • 无法声明接口:资源繁忙

    我正在使用 USB4Java 低级版本 并且基本上是根据这段代码工作的here http www mets blog com java usb communication usb4java 我在 Ubuntu 中工作 遇到了有关权限的问题

随机推荐

  • 为女朋友写一个小程序(四)— —前端小程序的设计与实现

    为女朋友写一个小程序 一 目的与需求 为女朋友写一个小程序 二 数据库设计 为女朋友写一个小程序 三 基于springboot的服务器端接口设计与实现 为女朋友写一个小程序 四 前端小程序的设计与实现 本文 为女朋友写一个小程序 五 如何用
  • Tensorflow常见报错

    1 SyntaxError Non ASCII character xe5 in file 弹出的错误提示 这个错误是初学者常犯的错误 在写代码时一定要注意 问题原因 Python默认是以ASCII作为编码方式的 如果在自己的Python源
  • train loss 和 test loss的关系与作用(总结)

    train loss 不断下降 test loss不断下降 说明网络仍在学习 最好的 train loss 不断下降 test loss趋于不变 说明网络过拟合 max pool或者正则化 train loss 趋于不变 test loss
  • 【云原生之kubernetes】kubernetes集群下的健康检查使用方法

    云原生之kubernetes kubernetes集群下的健康检查使用方法 一 k8s健康检查介绍 1 k8s健康检查简介 2 k8s健康检查作用 二 检查本地kubernetes集群状态 1 检查工作节点状态 2 检查系统pod状态 三
  • 以太坊如何发布NFT到opensea

    前提说明 此篇文章主要讲解 如何发布类似于网址 https killaznft com 或者 https thesevensofficial com 这种基于项目方的NFT 进行网页售卖以及上架到OpenSea上进行展示和售卖的过程 对技术
  • 记录帖——项目中出现的某些问题

    1 问题 自制的PCB板串口出现某些未知的错误 硬件平台 芯片是STM32F103RBT6 引出了3个串口 1个I2C SWD烧写 USART1接ESP8266 用于输出字符串 USART2接MPU6050 串口输出 USART3接GPS
  • leetcode刷题(77)——312. 戳气球

    一 题目 有 n 个气球 编号为0 到 n 1 每个气球上都标有一个数字 这些数字存在数组 nums 中 现在要求你戳破所有的气球 每当你戳破一个气球 i 时 你可以获得 nums left nums i nums right 个硬币 这里
  • jenkins项目配置的gitee显示无法连接到仓库

    jenkins项目配置的gitee显示无法连接到仓库 stderr fatal Unable to read current working directory No such file or directory 排查了半天发现git配置啥
  • CryptoJS 加密的使用方法

    因为公司的项目中用到了接口加密解密 所以百度了一下前端JS加密相关的文章 发现谷歌的CryptoJS挺好用的 因为项目用的是vue框架 记录一下项目中使用经验 首先使用npm安装CryptoJS npm install crypto js
  • 趣味数学问题的算法实现

    一 袋鼠跳跃问题 问题描述 有一只袋鼠 它跳跃一次的方式只有两种 一次跳1米 一次跳3米 现在有一段10米长的路 袋鼠从起点开始跳 问到终点有多少种不同的跳跃方式 问题分析 10米其实通过枚举就能够计算出来 但是我们要做的是给出计算任何距离
  • 玄子Share-自然语言编程(NLP)_导读篇

    玄子Share 自然语言编程 NLP 导读篇 自然语言编程 Natural Language Programming 提示工程 Prompt Engineering Prompt Engineering 介绍 Prompt Engineer
  • 软件需求工程R 第十章

    第十章 需求获取方法之观察与文档审查 常见的观察方法 1 采样观察 Sampling Observation 传统 简单的观察方法 2 民族志 Ethnography 深入到用户中 长期 浸入式的观察方法 3 话语分析 Discourse
  • 比特酒吧

    目前 区块链技术这个词非常的火爆 不少人动辄就会拿出区块链大书特书 说如何如何能够改变现有的金融模式 可是真正能够把区块链解释清楚的很少 以科学化的语言来解释区块链 区块链就是把加密数据 区块 按照时间顺序进行叠加 链 生成的永久 不可逆向
  • 停车收费系统服务器,无人值守停车场自动收费 车牌识别微信支付系统介绍

    随着智能手机及移动终端的普及 智能手机几乎人手一部 这就给 支付宝等移动支付终端提供了很好的舞台 可以这么说 现在已经进入了移动支付时代 我们去饭店吃饭可以支付 加油站加油可以支付 现在可以移动支付的地方越来越多 收费停车场由于收费金额普遍
  • Linux 配置与磁盘管理

    目录 物理设备的命名规则 Linux中硬盘分区部分 Linux在分区上建立文件系统 挂载 Linux硬盘管理工具 LVM逻辑卷管理器 物理卷 卷组合逻辑卷的建立 逻辑卷的使用 LVM整体创建流程 硬盘配额配置 针对用户或者群组使用的空间 物
  • 用Python生成组织机构代码,附源码

    usr bin python import random def haoma ww 3 7 9 10 5 8 4 2 suan fa yin zi cc dd 0 for i in range 8 gei CC fu zhi cc appe
  • virtual box之前创建的虚拟机,打开黑屏的解决办法

    virtual box之前创建的虚拟机 打开后黑屏的解决办法 我第一次使用virtual box打开创建的虚拟机时显示黑屏 是因为分配的显存不够造成的 最后自己的解决方案如下 选中对应的虚拟机 然后在右侧详情页中点击 设置 按钮 在弹出的设
  • 怎样确定AD采样频率,跟转换时间有关吗。在单片机中如何设置采样频率。

    转自百度知道https zhidao baidu com question 295921974 html 采样频率的意思是单位时间的采样次数 要确定采样频率 应该根据被测模拟量的变化动态以及测量需求决定 对于特定的硬件环境以及转换位数来说
  • 机器人编程有等级考试吗?

    很多学习机器人编程的同学 都想通过等级考试来检验自己的学习效果 通过考试发现自己的学习短板 查漏补缺 如果能取得不错的成绩 对自己的学习自信心也会有非常大的提升 机器人编程有等级考试吗 今天小贝老师就来帮助大家解答这个问题 其实 机器人编程
  • Java基础知识强化08:将字符串倒序输出(包括空格)的几种方法

    1 最容易想到的估计就是利用String类的toCharArray 再倒序输出数组的方法了 1 package himi hebao05 2 3 public class TestDemo02 4 public static void ma