1.去掉字符串两端空格
程序:
import java.lang.*; public class MyTrim { public static void main(String[] args) { String str = " "; Trim trim = new Trim(); trim.myTrim(str); } } //字符串截取类 class Trim{ public void 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--; } String s = str.substring(start,end+1); System.out.println("s="+s); } } |
2.将字符串进行反转
程序:
import java.lang.*;
public class MyTrim {
public static void main(String[] args) {
String str = "abcdefg";
/*Trim trim = new Trim();
trim.myTrim(str);*/
Reverse rev = new Reverse();
String s = rev.myReverse(str);
System.out.println("s= "+s);
}
}
//字符串反转
//将字符串转换成字符数组
//交换字符数组当中的数据
//将字符数组转换成字符串
class Reverse{
public String myReverse(String str)
{
char[] arr= str.toCharArray();
revArray(arr);
String s = new String(arr);
return s;
}
private void revArray(char[] arr)
{
for(int start=0,end=arr.length -1; start < end; start++,end--)
{
swap(arr,start,end);
}
}
private void swap(char[] arr,int start,int end)
{
char temp;
temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;
}
}
3.获取一个字符串在另一个字符串中出现的次数
思路:
1.定义一个计数器。
2.获取子串第一次出现的位置
3.从第一次出现的位置后剩余的字符串中继续获取子串出现的位置,每获取一次计数器加1
4,当获取不到时,计数完成
4.获取两个子串中最大相同子串
思路:
1.将短的哪个子串按照长度递减的方式获取到
2.将每次获取到的子串去长串中判断是否包含,如果包含,已经找到