作业遇到的问题

问题:

编写一个方法,将一段文本中的各个单词的字母顺序翻转, 例如:"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下标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值