思路:

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练习 - 字符串反转的更多相关文章

  1. JAVA实现字符串反转,借助字符数组实现

    public static String reverseStr(String str) { int len = str.length(); char ch[] = str.toCharArray(); ...

  2. Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转

    ylbtech-Java-Runoob-高级教程-实例-字符串:05. Java 实例 - 字符串反转 1.返回顶部 1. Java 实例 - 字符串反转  Java 实例 以下实例演示了如何使用 J ...

  3. Java实现字符串反转的8种方法

    /** * */ package com.wsheng.aggregator.algorithm.string; import java.util.Stack; /** * 8 种字符串反转的方法, ...

  4. Java实现字符串反转

    替换原则:index k 的值和 n-k 的值进行交换.(始终记住程序员的n.k都是字符串的实际位置.) 乘除的最基本实现还是来源于移位操作. public String reverse(String ...

  5. JAVA:字符串反转

    import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Lis ...

  6. Java 实现字符串反转

    方法一: public class StringReverse { public void swap(char[] arr, int begin, int end) { while(begin < ...

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

    /方法1 递归方法 public static String reverse1(String s) { int length = s.length(); if(length <= 1){ ret ...

  8. java实现字符串反转(原作有点错误,需要看下评论)

    http://blog.csdn.net/shenshen123jun/article/details/9104025

  9. Java实现字符串反转【Leetcode】

    Write a function that reverses a string. The input string is given as an array of characters char[]. ...

随机推荐

  1. PHP之-json转数组,支持多层嵌套json

    function json_to_array($str) { if (is_string($str)) $str = json_decode($str); $arr=array(); foreach( ...

  2. QTime中currentTime()的使用方法

    QTime中currentTime()的使用方法 QTime是Qt中一个处理时间的类,其成员函数currentTime()是最经常用到函数,下面举例说明该成员函数如何使用. 1. 包含头文件 #inc ...

  3. 事件拦截,仿qq侧拉的操作中

    1,处理DrawerLayout自定义的侧拉菜单时候,当手指点击listview的时候,不起作用,就是因为 手指滑动稍微有一点x方向的动作,抽屉控件就请求父控件(listview)不要拦截,这样lis ...

  4. JNDI中 java:comp/env 的理解

    J2EE 上下文环境变量前缀,一般有如下几种:java:/comp/env/jdbcjava:/comp/env/urljava:/comp/env/mailjava:/comp/env/jms在部署 ...

  5. Codeforces Round #390 (Div. 2)

    时隔一个月重返coding…… 期末复习了一个月也不亏 倒是都过了…… 就是计组61有点亏 复变68也太低了 其他都还好…… 假期做的第一场cf 三道题 还可以…… 最后room第三 standing ...

  6. CODE[VS]-数的计算-递推-天梯白银

    题目描述 Description 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理: 1.不作任何处理; 2.在 ...

  7. jvm的垃圾回收几种理解

    1.引用计数器回收 给每个对象设置一个计数器,当该对象被引用时,计数器加1,当有其他变量不再引用该对象时,计数器减1.直到计数器数值为0,回收器视为他是‘垃圾’,可以被回收,当该对象被回收时,其他引用 ...

  8. 通过linux的iso镜像安装(RPM)扩展工具包

    通过linux的iso镜像安装(RPM)扩展工具包 在linux安装软件时,现在越来越流行通过rpm指令安装完成,原因是:采用RPM安装简单方便:越来越多的软件提供RPM安装包:linux的IOS镜像 ...

  9. 让IE的Button自适应文字宽度兼容

    width:auto; overflow:visible; 这样将可以去掉IE按钮文字两边多余的空格,并按照自己设置的padding 来显示

  10. js生成缩略图后上传并利用canvas重绘

    function drawCanvasImage(obj,width, callback){ var $canvas = $('<canvas></canvas>'), can ...