第一天的总结

编程内容

1.二维数组的查找

从上到下,从左到右递增的数组中查找元素。

思路

要点是选择左下的元素作为遍历开始,其他部分没有多余要说的,较简单。

2.空格替换(字符串)

将字符串中的空格转换为“%20”。

思路

问题1:替换字符串,是在原来的字符串上做替换,还是新开辟一个字符串做替换!
问题2:在当前字符串替换,怎么替换才更有效率(不考虑java里现有的replace方法)。
  从前往后替换,后面的字符要不断往后移动,要多次移动,所以效率低下
  从后往前,先计算需要多少空间,然后从后往前移动,则每个字符只为移动一次,这样效率更高一点。

2先确定字符串中空格的个数,简单的循环遍历即可(编程时,出现了将str.length()后的括号漏掉的情况)
3分别用变量记录字符串转换前后的长度,由此得出替换前字符串下标和替换后的下标
4从后向前遍历,if判断替换。(在此之前,需要先扩大字符串的长度至替换后,防止下标越界:str.setLength(newlength);)

知识点
1关于String,StringBuffer,StringBuilder类的区别和各自定义

https://www.cnblogs.com/su-feng/p/6659064.html
https://www.cnblogs.com/liu-chao-feng/p/5636063.html

2StringBuffer的append()方法

http://www.runoob.com/java/java-stringbuffer.html

Stringbuffer 有append()方法
Stringbuffer其实是动态字符串数组
append()是往动态字符串数组添加,跟“xxxx”+“yyyy”相当那个‘+’号
跟String不同的是Stringbuffer是放一起的
String1+String2 和Stringbuffer1.append("yyyy")虽然打印效果一样,但在内存中表示却不一样
String1+String2 存在于不同的两个地址内存
Stringbuffer1.append(Stringbuffer2)放再一起

2字符串中的相关方法(今天用到的)

http://www.runoob.com/java/java-stringbuffer.html

字符串中的元素(位置):str.charAt(int);
toString()方法对于字符串类型是原值返回

以上

猜你喜欢

转载自www.cnblogs.com/lwblwb/p/10591435.html