Java實驗報告
班級 計科二班 學號 20188450 姓名 李代傳
完成時間 2019.9.20
評分等級
實驗三 String類的應用
-
實驗目的
-
掌握類String類的使用;
-
學會使用JDK幫助文檔;
-
-
實驗內容
1.已知字符串:"this is a test of java".按要求執行以下操作:(要求源代碼、結果截圖。)
-
統計該字符串中字母s出現的次數。
-
統計該字符串中子串"is"出現的次數。
-
統計該字符串中單詞"is"出現的次數。
-
實現該字符串的倒序輸出。
2.請編寫一個程序,使用下述算法加密或解密用戶輸入的英文字串。要求源代碼、結果截圖。
3.已知字符串"ddejidsEFALDFfnef2357 3ed"。輸出字符串里的大寫字母數,小寫英文字母數,非英文字母數。
-
實驗過程
|
-
算法詳解:很簡單,就是使用字符串的indexOf()方法找到被查找的字符串中的第一個需要查找的字符串,然后從這個索引的后一個位置繼續查找。因為查找都是用的一種算法,只需要改變小部分參數就行了,所以我把它單獨寫成了一個方法。StringBuffer中有能倒序輸出的方法,所以把字符串當做參數new了一個StringBuffer就很簡單。
1.實驗結果 |
2.實驗代碼 |
算法詳解:把輸入的字符串用toCharArray()方法拆分成字符數組,然后一個字符一個字符的進行操作。用x來記錄是解密或者是加密,這樣就能在后面決定是+3或者是-3,能通過這一個變量來節省很多重復語句。
算法詳解:下面這個就是加密算法,用了String類的substring方法,作用是得到指定位置的字符串。因為是向后移動三位,所以就直接把最后三個字符取出來放到最前面就好了。但是原來的字符串沒有變,所以要把最后三個字符去掉,用了StringBuffer類中的replace方法,作用是替換掉指定位置的字符串,我把替換為了空字符串,就相當於刪除了。然后直接輸出,就得到了加密的算法咯。解密算法就是反過來啦。
2.實驗結果 |
|
算法詳解:最開始就是拆分,字符串轉變為字符數組用toCharArray()方法,也可以先打出"char[] ch=s."這樣eclipse就會自己在后面跳出來符合字符數組類型的方法,第一個就是toCharArray()。然后單個字符按順序判斷就行了。
3.實驗結果 |
一、總結:實驗很簡單,中間幾乎沒有遇到過問題,全部問題都在寫源代碼的時候就解決了。但是做這些作業,還是加深了我對於字符串的認識,並且知道了諸多方法的使用。
二、課程總結:
1.在課程上又學了一遍知道的知識,加深了我對java基本知識的了解。比如說重載和重寫,雖然老師說的是重載和覆寫,但是都一樣,都是Overloading和Overriding,具體就不說了,大家都知道的。
2.繼承(extends)只能發生在類(class)和類之間,接口(interface)和接口之間。實現(implements)就不一樣了,是用在類和接口之間,並且能多重實現。
3.在繼承中,有一個重要的原則,就是就近原則,這很重要,就比如:在父類中定義一個變量,同時在父類中定義一個公共方法進行輸出這個變量。然后在子類中定義一個一模一樣的變量。創造這個子類的實例,調用父類的輸出這個變量的方法,會輸出父類中的變量。開始我一直搞不懂為什么,我覺得這個父類中的變量應該已經被子類的變量覆蓋了,我開始還納悶為什么不是子類中的變量,直到學了就近原則才搞懂。