package src.test5;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 〈一句话功能简述〉<br>
* 〈〉
*
* @author abu
* @create 2019/8/2
* @since 1.0.0
*/
public class TestString {
public static void main(String[] args){
String str1 = " high ok ";
str1 = " ";
String str2 = MyTrim(str1);
System.out.println(str2);
String str3 = "qwertyu";
String str4 = reverseString(str3,2,4);
System.out.println(str4);
String str5 = "qwertyu";
String str6 = reverseString(str5,2,4);
System.out.println(str6);
String str7 = "坂本龙一很帅是个坏蛋";
String str8 = "坂本龙一是个坏蛋";
int i = countString(str7,str8);
List<String> list1 = getMaxsubString(str7, str8);
System.out.println(i);
System.out.println(list1);
System.out.println(sort(str7));
System.out.println(sort(str5));
}
//字符串的自然排序
public static String sort(String str){
char[] c = str.toCharArray();
Arrays.sort(c);
return new String(c);
}
//获取两个字符串中最大相同字串
public static List<String> getMaxsubString(String str1, String str2){
String maxString = (str1.length() > str2.length())? str1:str2;
String minString = (str1.length() < str2.length())? str1:str2;
int len = minString.length();
List<String> list = new ArrayList<>();
for (int i = 0; i < len; i ++){
for (int x = 0, y = len - i; y <= len ; x ++, y ++){
String str = minString.substring(x,y);
if (maxString.contains(str)){
list.add(str);
}
}
if (list.size() != 0){
return list;
}
}
return null;
}
//一个字符串在另一个字符串中出现的次数
public static int countString(String str1, String str2){
int count = 0;
int len;
while ((len = str1.indexOf(str2)) != -1){
count ++;
str1 = str1.substring(str2.length() + len);
}
return count;
}
//字符串中指定部分进行反转(1)
public static String reverseString1(String str, int start, int end){
String str1 = str.substring(0,start);
for (int i = end; i >= start; i --){
char c = str.charAt(i);
str1 += c;
}
str1 += str.substring(end + 1);
return str1;
}
//字符串中指定部分进行反转(2)
public static String reverseString(String str, int start, int end){
char[] c = str.toCharArray();
return reverseArray(c, start, end);
}
public static String reverseArray(char[] c, int start, int end ){
for (int i = start,j = end; i < j; i++, j--){
char temp = c[i];
c[i] = c[j];
c[j] = temp;
}
return new String(c);
}
//实现trim的功能
public static String MyTrim(String str){
int start = 0;
int end = str.length() - 1;
while (start < end && str.charAt(start) == ' '){
start ++;
}
while (start < end && str.charAt(end) == ' '){
end --;
}
return str.substring(start,end + 1 );
}
}
练习28——String的应用
最新推荐文章于 2024-01-21 20:52:57 发布