字符串我们都很熟悉,在Java开发中有时会遇到需要进行字符串反转的情况,那么该如何实现Java字符串反转呢?这里华清Java学院小编就和大家分享一下Java字符串反转方法的代码实现。
Java字符串反转方法的设计思路:
1. 首先将字符串转换成数组,一个数组元素放一个字符。
2. 循环遍历字符串,将所有字符串前后字符调换位置,比如:第一个和后一个调换,第二个和倒数第三调换,第三个和倒数第三调换,直到所有字符调换完毕。
3. 通过以上两步得到了字符顺序完全颠倒的新字符串。
Java字符串反转方法的代码实现:
public class reverse {
//public static void main(String[] args)
public String swap(String str){
//String str = "1 2 3 4 5";
char[] arr = str.toCharArray();
int begin=0; int end=arr.length-1;
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 static void main(String[] args) {
String str = "a b c d";
System.out.println(new reverse().swap(str));
}}
虽然上面的方法可以实现字符串翻转,如果我们想把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
{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));
}}
热点新闻