当前位置: 移动互联网学院 > Java培训 > JAVA开发 > Java怎样反转字符串?Java字符串反转代码实现
Java怎样反转字符串?Java字符串反转代码实现 时间:2017-09-01     来源:华清远见JAVA学院

有的时候我们业务中需要实现字符串发展的功能,但是Java中并没有提供相应的字符串反转类。那么Java怎样反转字符串呢?今天华清Java学院小编为大家分享一下Java字符串反转的代码实现。

Java字符串反转代码设计思路:

1. 首先将字符串转换成数组,一个数组元素放一个字符。

2. 循环遍历字符串,将所有字符串前后字符调换位置,比如:第一个和后一个调换,第二个和倒数第三调换,第三个和倒数第三调换,直到所有字符调换完毕。

3. 通过以上两步得到了字符顺序完全颠倒的新字符串。

下面是Java字符串反转的具体代码实现:可以将1 2 3 4 5 转换成5 4 3 2 1

1 public class reverse {

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 }

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

其实办法很简单,

以空格为分隔符,将空格之间的字符再次翻转就可以了。

1 public class reverse {

3 //public static void main(String[] args)

4 public void swap(char[] arr,int begin,int end){

5 //String str = "1 2 3 4 5";

6 while(begin < end) {

7 char temp = arr[begin];

8 arr[begin] = arr[end];

9 arr[end] = temp;

10 begin++;

11 end--;

12 }

14 //for (int i = 0; i < arr.length-1; i++)

15 // System.out.println(arr[i]);

16 // return new String(arr).toString();

18 }

20 public String revWord(String str){

21 char[] arr = str.toCharArray();

22 swap(arr,0,arr.length-1);

23 int begin=0;

24 for (int i=0;i

25 {if (arr[i]==' ')

26 {swap (arr,begin,i-1); begin=i+1;}

27 } return new String(arr);

28 }

29 public static void main(String[] args) {

30 String str = "how are you";

31 System.out.println(new reverse().revWord(str));

}}

X