java练习 - 字符串反转
思路:
1. 首先将字符串转换成数组,一个数组元素放一个字符。
2. 循环遍历字符串,将所有字符串前后字符调换位置,比如:第一个和最后一个调换,第二个和倒数第三调换,第三个和倒数第三调换,直到所有字符调换完毕。
3. 通过以上两步得到了字符顺序完全颠倒的新字符串。
下面是代码实现:可以将1 2 3 4 5 转换成5 4 3 2 1
- 1 public class reverse {
- 2
- 3 //public static void main(String[] args)
- 4 public String swap(String str){
- 5 //String str = "1 2 3 4 5";
- 6 char[] arr = str.toCharArray();
- 7 int begin=0; int end=arr.length-1;
- 8 while(begin < end) {
- 9 char temp = arr[begin];
- 10 arr[begin] = arr[end];
- 11 arr[end] = temp;
- 12 begin++;
- 13 end--;
- 14 }
- 15
- 16 //for (int i = 0; i < arr.length-1; i++)
- 17 // System.out.println(arr[i]);
- 18 return new String(arr).toString();
- 19 }
- 20 public static void main(String[] args) {
- 21 String str = "a b c d";
- 22 System.out.println(new reverse().swap(str));
- 23 }
- 24 }
虽然上面的方法可以实现字符串翻转,如果我们想把How are you翻转成you are How呢?上面的方法只能转换为 uoy era woH
其实办法很简单,
以空格为分隔符,将空格之间的字符再次翻转就可以了。
- public class reverse {
- //public static void main(String[] args)
- public void swap(char[] arr,int begin,int end){
- //String str = "1 2 3 4 5";
- while(begin < end) {
- char temp = arr[begin];
- arr[begin] = arr[end];
- arr[end] = temp;
- begin++;
- end--;
- }
- //for (int i = 0; i < arr.length-1; i++)
- // System.out.println(arr[i]);
- // return new String(arr).toString();
- }
- public String revWord(String str){
- char[] arr = str.toCharArray();
- swap(arr,0,arr.length-1);
- int begin=0;
- for (int i=0;i<arr.length;i++)
- {if (arr[i]==' ')
- {swap (arr,begin,i-1); begin=i+1;}
- } return new String(arr);
- }
- public static void main(String[] args) {
- String str = "how are you";
- System.out.println(new reverse().revWord(str));
- }
- }
java练习 - 字符串反转的更多相关文章
- JAVA实现字符串反转,借助字符数组实现
public static String reverseStr(String str) { int len = str.length(); char ch[] = str.toCharArray(); ...
- Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转
ylbtech-Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转 1.返回顶部 1. Java 实例 - 字符串反转 Java 实例 以下实例演示了如何使用 J ...
- Java实现字符串反转的8种方法
/** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** * 8 种字符串反转的方法, ...
- Java实现字符串反转
替换原则:index k 的值和 n-k 的值进行交换.(始终记住程序员的n.k都是字符串的实际位置.) 乘除的最基本实现还是来源于移位操作. public String reverse(String ...
- JAVA:字符串反转
import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Lis ...
- Java 实现字符串反转
方法一: public class StringReverse { public void swap(char[] arr, int begin, int end) { while(begin < ...
- Java将字符串反转的7种方法
/方法1 递归方法 public static String reverse1(String s) { int length = s.length(); if(length <= 1){ ret ...
- java实现字符串反转(原作有点错误,需要看下评论)
http://blog.csdn.net/shenshen123jun/article/details/9104025
- Java实现字符串反转【Leetcode】
Write a function that reverses a string. The input string is given as an array of characters char[]. ...
随机推荐
- 【2013Esri全球用户大会精彩看点】Jack为您全面解读“GIS-Transforming Our World”
GIS正影响着最尖端的科学与技术,正改变着我们的世界. 1. GIS的带来的改变不只是物质世界的,还有观念方面. 当今世界面临各种挑战,我们要创造更美好的未来,需要智能的GIS.GIS改变了我 ...
- 使用Cobertura统计JUnit测试覆盖率
这是一个JavaProject,关于Cobertura的用法详见代码注释 首先是应用代码(即被测试的代码) package com.jadyer.service; public class Calcu ...
- 使用DBUnit实现对数据库的测试
这是一个JavaProject,有关DBUnit用法详见本文测试用例 首先是用到的实体类User.java package com.jadyer.model; public class User { ...
- kubernetes源码阅读及编译
kubernetes源码阅读 工欲善其事,必先利其器.在阅读kubernetes源码时,我也先后使用过多个IDE,最终还是停留在IDEA上. 我惯用的是pycharm(IDEA的python IDE版 ...
- 【转】HTTP Response Header 的 Content-Disposition
因为听到有同事讨论JSP输出Excel文件的,就是在页面上有一个[导出]按钮,能够将查询结果导出到Excel文件让用户下载.有人说要用POI在后台生成临时的Excel文件,然后通过读取FileStre ...
- Linux centos7环境下安装JDK的步骤详解
Linux centos7环境下安装JDK的步骤详解 测试root用户下JAVA版本 输入命令: java –version 1.先到Oracle官网里下载好jdk,网址如下: http://ww ...
- jvm实战-基本类型占多少内存
jvm内存占用模型 对象的内存结构 对象头 Header 包含两部分数据Mark Word和Kclass: Mark Word:存储对象自身的运行时数据,如hashCode.GC分代年龄.锁状态标志. ...
- [资源]网上常用免费WebServices集合 转载
引用地址:http://www.cocoachina.com/bbs/simple/?t54338_5.html 天气预报Web服务,数据来源于中国气象局 公用事业 http://www.webxml ...
- Hibernate介绍和入门案例
一身转战三千里,一剑曾当百万师 如果你在之前没有学过SSH三大框架,那么你之前肯定是通过JDBC来对数据库进行操作.现在,你完全可以把跟数据库交互的操作直接交给Hibernate. Hibernate ...
- javascript练习题(3):基础字符串运算
用两种方法实现下列问题! 1. 把一个字符串转化为驼峰写法 需求:margin-left=>marginLeft 思路一:split 把它转化为一个数组然后修改内容 function conve ...