黑马程序员:String练习题

---------------------- ASP.Net+Android+IOS开发、 .Net培训、期待与您交流! ----------------------
/*
关于String类的练习题
1.实现去字符串两端空格功能(不通过trim())
2.字符串反转 abcdef,要求输出结果为fedcba
3.获取一个字符串在另一个字符串中出现的次数
4.获取两个字符串中最大相同子串
*/
class StringTestTrim
{
	public static void main(String[] args)
	{
		String str = "    a a     ";
		String str1 = "abcdef";
		String str2 = "abc";
		String str3 = "abcdddabcsssabc";
		String str_cm1 = "sdddsdsdfssabcdefddd";
		String str_cm2 = "aaaabcdefccc"; 
		sop("("+str+")");
		str = myTrim(str);
		sop("("+str1+")"); //(abcdef)
		str1 = myReverseString(str1,2,4);
		sop("("+str1+")");//(abdcef) java里一般都是包含头不包含尾,所以设计程序的时候沿袭了这一习惯
		str1 = myReverseString(str1);
		sop("("+str1+")");
		sop(findCount(str3,str2));
		sop(compareMax(str_cm1,str_cm2));
	}
	/*
	练习一:实现trim()的去字符串两端空格功能
	思路:
	1.判断字符串第一个字符是否为空格,若是空格,则循环判断;末尾也是如此
	2.当判断到第一个字符和末尾字符都不是空格时,把里面的字符串取出来
	*/
	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);
	}
	/*
	练习二:字符串反转 abcdef,要求输出结果为fedcba
	思路一:倒序存储
	1.通过charAt(int)倒序保存进arr数组
	2.将arr数组转化为字符串
	*/
	public static String myReverse(String str)
	{
		char[] arr = new char[str.length()];
		int pos = str.length();
		for	(int x=0; xstr2.length()?str1:str2;
		min = str1.length()>str2.length()?str2:str1;
		for(int x=0; x

---------------------- ASP.Net+Android+IOS开发、 .Net培训、期待与您交流! ----------------------详细请查看: http://edu.csdn.net

你可能感兴趣的:(java)