问题:
编写一个方法,将一段文本中的各个单词的字母顺序翻转, 例如:"I like writing code best", 将变成"I ekil gnitirw edoc tseb"。
遇到的问题:刚拿到这道题,并没有任何思路,也不知道,应该用什么方法去解,对所学的类并不能去灵活的运用,以至于做过一遍,再拿起来做,还是没有任何头绪,唉,这是新手普遍遇到的问题吗?
再次通过看答案,看视频,总结出以下思路,以及方法:
思路:将这一句英文,按照空格分成各个数组,这里用到的split方法(之前记住过,但是时间用的时候还是想不起来),创建一个新的字符串,这里用StringBuffer new一个新字符串,用来放反转后的字符串,反转方法,这里用reverse方法(然而下次拿到,感觉还是想不起来杂咋用),反转之后,再拼接,把新的字符串返回出去。至于测试,没有什么好说的。
使用的时候是对象.方法,拼接方法append(a).append(b);//ab
遍历:数组遍历for(String s , arr){
}
将数组arr中的数组,通过s传到循环里,然后调用反转方法,给数组反转,之后用拼接。
问题2:字符串压缩:利用字符重复出现的次数,编写一种方法,实现基本的字符 串压缩功能。比如,字符串“aabccdd”会变成“a2b1c2d2”。若“压缩”以后的字 符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文 字母(a-z) 示例 1:输入:aabcccccddddd 输出:a2b1c5d5 示例 2:输入:“abcdd” 输出:“abcdd”
解释:因为压缩后的字符串为:”a1b1c1d2”, 长度大于原字符串
定义一个压缩新数组StringBuffer
charAt(0):表示数组的0下标。