1. 程式人生 > 其它 >Java第一次部落格

Java第一次部落格

  •  前言

         1. 習題集一前言

         本次習題集,共分為九道題,題目較為簡單,考察了我們對基本知識的學習程度,第一題主要計算身體健康指數,用來衡量身體狀態,第二題則是長度質量計量單位換算,重在考查輸入的資料型別,第三題是計算輸入數列中的奇數之和,第四題涉及到了房產稅等費用的計算,第五題是遊戲角色選擇的簡單程式碼,第六題則是學號的識別,涉及字串的相關運用,第七題是用給定的巴比倫法來求平方根近似值,輸出在誤差允許範圍內的資料,第八題是二進位制數值提取 ,也是對字串運用的考察,第九題相對來說是情況最多的一道題,涉及許多條件,第一次主要以考察java的基本知識,題目較為簡單,和上學期的C語言有一定的關聯。

         2. 習題集二前言

         習題集二對於知識的考查逐題遞進,一共有三道題,總體皆為對字串的考查,第一題是字母到數字的一種轉換,需要考慮非法輸入等情況,第二題則是串列埠字元解析習題,通過閱讀給定的材料來進行判斷和輸出,我認為這道題是本題集最難的一道題目,涉及字串的擷取和查詢以及判定等多種規則,題目較難,第三題僅僅涉及字串的擷取、特定字元的檢索等簡單操作,題目集二相對題目集一提升了難度,更注重字串的運用。

         3.習題集三前言

         習題集三完成情況較為糟糕,題目屬於偏難的型別,涉及的情況較多,主要是對座標的一種考查,需要考慮各種非法輸入,還要保證可以輸入正確的座標,同時需要將輸入的內容以座標形式分割,再進行座標之間的計算和轉換,包括三道題,第一題是計算兩點之間的距離,第二題則是對輸入的點座標進行直線等計算,包括斜率、點到直線的垂直距離、是否在同一條直線上、是否平行,交點是否在指定區域內等計算模板,第三題是利用點座標進行相關的三角形計算,涉及五種演算法,三角形的型別,周長、面積、重心的計算,鈍角、直角還是銳角三角形的判斷,前兩個點所在的直線與三個點所構成的三角形相交的交點數量的計算等方面,做第一題時通過網路學習學會了簡單的運用正則表示式,相對於之前需要考慮的多種情況,正則表示式更加便利和簡潔。

  • 三次習題集的得分情況:

       習題集一:100分

  習題集二:61分(滿分61分)

  習題集三:53分(滿分100分)

 

  •   設計與分析

        (1)題目集2的7-2的相關設計及分析:   

 

 

 

 

              字串中某個字元的檢索和查詢

            字串的擷取和檢索字元的判斷

 

 

             輸入合法性的檢測

         (2)題目集三的相關設計與分析:

           

 

 

             座標類的定義,判斷輸入的座標是否合理,是否合法

      

 

 

 

            正則表示式的仿照使用,較為方便,定義座標的基本框架,返回它的布林型別,最後通過true和false來判斷

 

            通過陣列來將輸入的字串進行劃分,分成多個數組成員,再對陣列中的成員進行計算

 

             藉助查詢不同座標之間的空格來進行擷取,將擷取的字串放入陣列中

        

               切記要對最後分割的座標進行處理,因為前面只是對檢索到的字元前面的擷取,後面是無法判斷的

                   

 

                   

 

 

 

                  將可能存在的情況儘可能地多考慮

 

  •   踩坑心得

①不同精度的型別設定會導致不同的輸出結果,需要注意結果的型別確定保留的小數位數,例如習題集一的第二題就涉及這樣的問題;

②不同型別資料無法相容,需要採用強制型別轉換等操作轉變為相同型別,再進行計算,有時double型別可能無法過測試點,可以採用float型別來試試,例如習題集一的第四題需要進行強制型別轉換;

③字串在擷取時要注意索引字元的設定,避免多擷取或者擷取遺漏,例如習題集一的第七題,習題集二等都涉及到字串的擷取,需要搞清楚索引的座標位於何處;

④不建議採用正則表示式,涉及知識點較難,仿照網上給的案例勉強寫出正則表示式,剛好適用於習題集三的三道題的座標合法性的判斷;

⑤需要將存在的所有情況都考慮到,題目集三的第二題中每個模組都要考慮存在的重複問題,點座標重合問題,當時找了好久才發現的問題所在。

 

  • 改進建議

 

①程式碼儘可能融入新的知識,一個功能一個類,避免一個類複用,導致程式碼的容錯率降低,後期應逐步加入繼承等新知識。

②順序結構不夠簡潔,邏輯較為混亂,應在設計程式碼時提前用流程圖進行規劃,使程式清晰易讀。

③不斷考慮可能會出現的情況,不僅僅侷限於測試點的通過。

④正則表示式的學習還不到位,仍然需要繼續在網上查詢資料來學習。

⑤在一些程式碼的關鍵節點,我應該加上一些註釋,方便之後的查閱和修改。

⑥不斷優化實現功能的程式碼演算法,實現對程式碼的凝練和昇華。

  • 總結

1.三次題目集讓我改變了對java的看法,一直以為是和C語言相差不多的一門學科,這幾次的習題讓我逐漸瞭解java的不同以及精妙之處。

2.學習Java不能有懼怕困難的心理,一直覺得好難好難,自己學不會,但是不試試又怎能知道自己的極限呢,真正去了解這門科目才發現真的很有趣,其中的一些方式和演算法十分巧妙,值得探究。

3.從這三次題目集中收穫了很多,對於Java基本語法,字串的運用,資料型別的區別有了深層次的瞭解。

4.這三次題目集起到了警示作用,後悔假期沒有學Java,相對於其他人無形之中落下好多,但也不應氣餒,加把勁努力學,知識是無窮的,但不去觸碰它將永遠無法窺探其中的奧祕。