A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 小青年oh 中级黑马   /  2016-3-28 23:24  /  699 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1、String类方法编程练习题:重点掌握思想

  1,需求:将字符串中进行反转。abcde --> edcba

思路:1、因为反转,想到之前做个数组的反转的例子,

1、先将字符串转变为数组。

2、有了数组后直接进行头尾角标元素的位置置换即可

3、将数组转成字符串。

步骤:

1、将字符串转成数组:toCharArray();

2、对数组进行位置置换swap()

3、将数组转成字符串,用字符串构造函数就可以了。

实现代码:

Public static void main(String[] arsg)

{

String str="abcde";

Str=reverseString(str);

Sop(str);

}

//对制定字符串进行反转。接收一个反转的字符串,返回反转后的字符串。

Public static String reverseString(String str)

{

//将字符串变成字符数组。

Char[] chs=str.toCharArray();//这里对字串转成字符数组的方法应用还不是很熟悉,应该多花时间补。

//对数组进行遍历完成头尾角标元素的置换。

For(int start=0,end=chs.length-1;start<end;start++,end--)

{

Swap(chs,start,end);

}

Return new Stringchs);

}

//对字符串进行位置置换。Swap()

2、需求:对字符串中的字母进行排序,变成有序的字符串。

   "bdacxrtq" --> "abcdqrtx";

思路:

1、先把字符串变成数组

2、对数组元素进行排序

3、将数组变成字符串

实现代码:

Public static String sortString(String str)

{

将字符串变成数组

Char[] chs=getCharArray(str);

对数组进行排序

sortCharArray(chs);

将排序后的数组变成字符串

String temp=new String(chs);

Return temp;

}

//对字符数组进行排序

Public static void sortCharArray(char[] chs)

{

For(int x=0;x<chs.length01;x++)
{

For(int y=x+1;y<chs.length;y++)

{

If(chs[x]>chs[y])

Swap(chs,x .y)

}

}

}

Swap()//在此省略不写

Public static char[] getCharArray(String str)

{

Char[] chs=str.toCharArray();

Return chs;

}

3、需求:获取一个字符串在另一个字符串中出现的 次数。

   "kk"   "kksdfkkghkkjekkrtkk"

思路:

1、先要明确字符串中的是否有要查找的字串,如果有,应该记录该字串,的第一次出现的位置.

2、在第一位位置后,对剩余的字符串再次出现该字串查找,并获取位置,

3、以为类推,通过记录数完成字串出现次数的获取。

步骤:

1、定义计数器

2、因为每一次出现的位置不同,所以定义变量记录位置。

3、通过indexof方法获取位置,同时该方法的好处就是可以通过-1判断是否存在。

4、只要存在,就循环查找,并计数,同时要获取查找后的剩余字符串,在剩余字符串继续查找,通过substring(start)就可以了,而start的值就是查找到的角标+字串的长度。

实现代码:

Public static int getSubStringCount(String str,String key)

{

Int count=0;

Int index=0;

While((index=str.intdex(key,index))!=-1)

Index =index+key.length();

Count++;

}

Return count;

1 个回复

倒序浏览
这都市啥啊?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马