統計一個字符串中某個字符出現的次數
- replace方法統計字符串中某個字符出現的次數
- 利用replace替換空字符,並用原字符串長度減去替換后的新字符串的長度
- split方法統計字符串中某個字符出現的次數
replace方法統計字符串中某個字符出現的次數---代碼如下:
/**
* @Title:replaceCountTimes
* @date:2020年5月5日 下午2:18:38
* @Description:TODO replace方法統計字符串中某個字符出現的次數
* void
*/
public static void replaceCountTimes () {
// 原字符串
String str = "ABC123ABC";
// 某個字符
String searchChar = "B";
// 統計次數初始為0
int count = 0;
// 原字符串的長度
int origialLength = str.length();
// 把某個字符替換為"",生成新字符串
str = str.replace(searchChar, "");
// 出現次數 = 原字符串的長度-新字符串的長度
count = origialLength - str.length();
System.out.println("字符" + searchChar + "出現的次數為:" + count);
}
split方法統計字符串中某個字符出現的次數---代碼如下:
/**
* @Title:splitCountTimes
* @date:2020年5月5日 下午2:27:47
* @Description:TODO split方法統計字符串中某個字符出現的次數
* void
*/
public static void splitCountTimes () {
// 原字符串
String str = "ABC123ABC";
/**
* --1.split根據某個字符分割成數組
* --2.出現次數 = 分割后的數組長度
*/
int count = str.split("B").length;
System.out.println("字符" + str + "出現的次數為:" + count);
}
實現字符串的反轉
- StringBuilder方法反轉字符串
- Stack方法反轉字符串
StringBuilder方法反轉字符串---代碼如下:
/**
* @Title:StringBuilderReverseStr
* @date:2020年5月5日 下午2:40:46
* @Description:TODO StringBuilder方法反轉字符串
* void
*/
public static void StringBuilderReverseStr () {
// 原字符串
String str = "ABC123ABC";
System.out.println("反轉前:" + str);
// 把原字符串轉為StringBuilder
StringBuilder stringBuilder = new StringBuilder(str);
// StringBuilder的字符串反轉方法
stringBuilder.reverse();
// 反轉后字符串
str = stringBuilder.toString();
System.out.println("反轉后:" + str);
}
Stack方法反轉字符串---代碼如下:
/**
* @Title:stackReverseStr
* @date:2020年5月5日 下午2:41:47
* @Description:TODO Stack方法反轉字符串
* void
*/
public static void stackReverseStr () {
// 原字符串
String str = "ABC123ABC";
System.out.println("反轉前:" + str);
// 轉為char數組
char[] charArray = str.toCharArray();
// new 出一個Stack
Stack<Character> stack = new Stack<>();
// 遍歷char數組並順序放入Stack中
for (char item : charArray) {
// Pushes an item onto the top of this stack
stack.push(item);
}
// 初始原字符串為""
str = "";
/**
* --1.遍歷char數組
* --2.利用Stack的后進先出
* --3.即為反轉后字符串
*/
for (int i = 0; i < charArray.length; i++) {
// Removes the object at the top of this stack and returns that object as the value of this function
str+=stack.pop();
}
System.out.println("反轉后:" + str);
}