題目連結
題意:
給定好幾行字
找出單字(只由連續字母組成)
以字典序輸出所有單字(以全小寫字母)
解法:
因為解答要求小寫
先將讀入的字串轉小寫
找出單字的作法頗多
我是先逐字判斷
不是字母就通通以空白代替
最後用 split 方法切開
然後一一存到 ArrayList
重複的要跳過
接著可以用 Collections 的 sort 方法排序
最後依序輸出即可
切的過程發現
可能有連續 2 個不是字母
所以會冒出一個空字串
反正也只會存一次(重複已跳過)
排序時也會排到最前面
輸出時 index 從1開始就可以避開
另外這題是讀到檔尾
測資也不是以行為單位輸出
想要用 Console 視窗測試可以試試:
在 while 迴圈讀到字串後
加下面幾行
記得丟 UVa 要槓掉XD
程式(Java):
題意:
給定好幾行字
找出單字(只由連續字母組成)
以字典序輸出所有單字(以全小寫字母)
解法:
因為解答要求小寫
先將讀入的字串轉小寫
找出單字的作法頗多
我是先逐字判斷
不是字母就通通以空白代替
最後用 split 方法切開
然後一一存到 ArrayList
重複的要跳過
接著可以用 Collections 的 sort 方法排序
最後依序輸出即可
切的過程發現
可能有連續 2 個不是字母
所以會冒出一個空字串
反正也只會存一次(重複已跳過)
排序時也會排到最前面
輸出時 index 從1開始就可以避開
另外這題是讀到檔尾
測資也不是以行為單位輸出
想要用 Console 視窗測試可以試試:
在 while 迴圈讀到字串後
加下面幾行
if (s.length()> 0)
if(s.charAt(0)=='2')
break;
測試時打個 2 就可以跳出迴圈了記得丟 UVa 要槓掉XD
程式(Java):
留言
張貼留言