文字列の操作練習1と練習2
1884 ワード
/*
*
*
* Copyright (c) 2011,
* All rights reserved.
* :
* :
* :2011 10 10
* :x1.0
*
* :
* : 1, trim , 。
:
1, , , 。
。
2, , 。
2, 。 ,"abcdefg";abfedcg
:
1, 。
2, , 。
3, 。
4, 。
* :
*
*/
class StringTest
{
public static void main(String[] args)
{
// String str = " ab cd ";
// sop(myTrim(str));
String str = "abcdefg";
sop(reverseString(str));
}
// , 。
public static String myTrim(String str)
{
int start = 0;
int end = str.length() - 1;
while(str.charAt(start) == ' ' && start < end)
{
start++;
}
while(str.charAt(end) == ' ' && start < end)
{
end--;
}
return str.substring(start, end + 1);
}
// : 。
/*
:
1, 。
2, 。
3, 。
*/
public static String reverseString(String str, int start, int end)
{
//1, 。
char[] chs = str.toCharArray();
//2, 。
reverse(chs, start, end);
//3, 。
return new String(chs);
}
public static String reverseString(String str)
{
return(reverseString(str, 0, str.length()));
}
private static void reverse(char []arr, int x, int y)
{
for(int start = x, end = y - 1; start < end; start++, end--)
{
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;
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}