1、字符串去空格

package tan;

public class CopyOfStringTest {

public static void main(String[] args) {

String s = " tan at guigu ";

sop(s);

String x = MyTrim(s);

sop(x);

}

public static void sop(String str) {

System.out.println(str);

}

// 1、去除字符串两端的空格

public static String MyTrim(String str) {

int start = 0, end = str.length() - 1;

while (start <= end && str.charAt(start) == ' ') {

start++;

}

while (start <= end && str.charAt(end) == ' ') {

end--;

}

return str.substring(start, end + 1);

}

}

2、反转字符串

package tan;

public class StringTest {

public static void main(String[] args) {

String s = "ABCDEFGH";

sop(reverseString(s,0,2));//表示角标0到角标1元素之间反转

sop(reverseString(s));

}

public static void sop(String str) {

System.out.println(str);

}

// 练习二:将字符串反转。

/*

* 思路: 1。将字符串变成数组。 2,对数组反转。 3。将数组变成字符串。

*/

/**

* 功能:[部分反转]将指定角标值之间的字符反转

* @param s

* @param start

* @param end

* @return

*/

public static String reverseString(String s,int start,int end)

{

//字符串变数组。

char[] chs = s.toCharArray();

//反转数组。

reverse(chs,start,end);

//将数组变成字符串。

return new String(chs);

}

/**

* 功能:[所有反转]将整个字符串反转

* @param s

* @return

*/

public static String reverseString(String s)

{

return reverseString(s,0,s.length());

}

//end=y-1;包括头不包括尾。

private static void reverse(char[] arr,int x,int y)

{

for(int start=x,end=y-1; start

{

swap(arr,start,end);

}

}

private static void swap(char[] arr,int x,int y)

{

char temp = arr[x];

arr[x] = arr[y];

arr[y] = temp;

}

}

查看原文