本次做業題集集合
java
答:該題主要問題是要解決輸入時的一個或多個空格問題。能夠爲line建立一個掃描器in
,再以in.next()
的方式讀取。也可使用正則表達式String[] strings = Line.split(" +");
的方法讀取。
在List中刪除元素可使用list.remove()
方法刪除元素,或者使用list.clear()
方法移除列表中的全部元素。正則表達式
Map<String,Integer> map = new Map<單詞,出現次數>; while(true){ if(逐個Next讀取內容爲"!!!!!") break; if(單詞不在Map中) map.put(單詞, 賦值爲1); if(單詞在Map中) map.put(單詞, 原value+1); } System.out.println(map.size()); 將Map中鍵值關係對應到List<String,Integer>中; Collections.sort(對List中元素先按Integer次數排序,次數相同再對String單詞排序); System.out.println(排序後內容);
答:本題中主要的內容就是判斷Map中是否已包含正在操做的元素,並以此判斷是對Value
值進行+1
操做仍是生成一個新的Key
。另外就是使用Map.Entry()
與Collections.sort()
對Map進行排序。小程序
本題較難,作不出來沒關係。但必定要有本身的思考過程,要有提交結果。數組
new Map<存放行數信息, 逐行存放文章語句>; new TreeSet<存放文章中全部的單詞內容>(); while(true){ if(文章下一行內容不爲"!!!!!") new List0.add(逐行讀取文章的內容); set.add(文章每一個單詞的內容); map.put(行數,存放對應行數單詞的List);} Set.iterator(); for(小於Set的長度) new List1(存放單詞出現的行數信息); for(小於Map的長度){ 查找Map中的存放的每行的List的信息,若List中包含單詞,則List1添加該行的行號;} 輸出Set中每一個單詞及包含該單詞出現的行號List;} while(hasnext){ new List2.add(逐行讀取輸入的要查找的單詞信息,拆分紅單個單詞); Map.iterator(); for(小於List2的長度){ for(小於Map.size()){ 在Map中每次取出一行的內容; if(contains(List2中的全部元素)) 標記該行並存儲;} } 輸出編輯的行號信息及對應行數的內容; }
答:本題中一開始便想到的是一個Key
對應多個Value
,後來查閱得知,Value除了存放基本的數據類型外,還能夠存放List
數組,因此後來就基本使用了Map<Integer,List>
。另外在這題中我使用了好幾個不一樣類型的List
數組用於存放文章內容信息(有些存放逐行的信息,有些則存放每行中逐個單詞的信息)及行數信息等,所以在編寫過程當中要注意區分不一樣List
的功能,避免弄混;我也對比過其餘同窗的方法,相比之下使用的就少得多。但對於同窗的代碼也不是很能理解,於是雖然東西複雜了點,但以爲本身的思路仍是相對容易理解些。學習
編寫一個Student類,屬性爲:測試
private Long id; private String name; private int age; private Gender gender;//枚舉類型 private boolean joinsACM; //是否參加過ACM比賽
建立一集合對象,如List
List<Student> search(List<Student> stuList, Long id, String name, int age, Gender gender, boolean joinsACM)
,而後調用該方法將id>某個值,name爲某個值, age>某個值, gender爲某個值,參加過ACM比賽的學生篩選出來,放入新的集合。在main中調用,而後輸出結果。(截圖:出現學號、姓名)
傳統方法:
3d
使用java8中的stream(), filter(), collect()編寫:
code
題集jmu-Java-05-集合
之GeneralStack對象
ArrayListIntegerStack
相比,說明泛型有什麼好處答:在之前做業中的ArrayListIntegerStack
中,將進出棧等方法都定義爲Integer
類型了,因此只能對Integer類型對象進行操做,操做對象單一。
而在本題中,對方法採用了泛型定義,能夠對多種類型對象進行棧的操做,使得棧的功能更加具體,對於棧來講,無論內部存放的是什麼類型的數據,均可以實現這些具體的操做。且泛型容許指定集合中元素的類型,這樣能夠得到強類型,在代碼編譯階段就能夠發現報錯,無需再使用有風險的強制類型轉換。
題目集:jmu-Java-05-集合
須要有兩張圖(1. 排名圖。2.PTA提交列表圖)
、
須要將每週的代碼統計狀況融合到一張表中。
本身的目標能實現嗎?
開學初我爲本身定的目標是每週預估代碼量200行,一學期4000行左右,從目前的進度來看,基本上都能超出每週兩百行的代碼量,當前代碼量已經3000行左右,離實現開學初定的小目標已經不遠了(っ•̀ω•́)っ✎⁾⁾
周次 | 總代碼量 | 新增代碼量 | 總文件數 | 新增文件數 |
---|---|---|---|---|
1 | 90 | 90 | 5 | 5 |
2 | 322 | 232 | 11 | 6 |
3 | 652 | 330 | 16 | 5 |
4 | 946 | 294 | 21 | 5 |
5 | 1347 | 401 | 26 | 5 |
6 | 1591 | 244 | 28 | 2 |
7 | 2118 | 527 | 31 | 3 |
8 | 2627 | 509 | 39 | 8 |
9 | 2912 | 285 | 42 | 3 |
嘗試從如下幾個維度評估本身對Java的理解程度
維度 | 程度 |
---|---|
語法 | PTA的題目大部分能解決,可是須要花上必定的時間,每次作題都能碰到些新的內容能夠學習 |
面向對象設計能力 | 通過思考後,能大體上把握使用面向對象思想爲所要解決的問題建模的方向 |
應用能力 | 能夠解決PTA內半數以上習題,課外應該也能夠寫一些簡單的小程序 |
至今爲止代碼行數 | 2912 |