資源簡介
第二次作業:
1. 編寫點類(Point類),屬性成員有x,y,都是double數據類型。需要為Point類編寫構造函數。
編寫直線類(Line類),需要提供兩點確定一條直線的函數功能。
如果兩點重合,可以返回異常或者返回null引用來解決這個問題。
直線類的數據成員和函數成員請自行設計。
2. 給定文本文件,文件名稱為a.txt,文件內容為一個8行8列的字符矩陣,內容為1和0字符,
請編程計算出該矩陣中水平方向或者垂直方向或者斜線方向連續1最多的個數。
例如:
11001101
10110101
01010101
11001000
01010101
11001101
00011000
11110000
3. 編寫程序求出1萬以內的所有素數,并將這些素數輸出到一個文本文件中,每行文本只包含一個素數數據。
該文本文件內容要求可以用記事本程序來查看。
4. 編寫程序求出1萬以內的所有素數,然后再判斷這些素數中哪些是由素數拼接而成的。
例如素數23就符合條件,23本身是素數,其由素數2,和素數3拼接(連接)組成。
素數29就不滿足條件,2是素數,而9不是素數。素數307不滿足條件,不能忽略0.
7907這個素數符合條件,7是素數,907是素數。
需要把符合條件的拼接素數全部輸出,并統計個數。
5. 要求從控制臺輸入英語單詞及單詞解釋兩項數據,
把錄入的數據追加到文件中。要求提供單詞查詢功能。
用戶輸入單詞后,從單詞庫文件中查找,如果存在則輸出
該單詞的解釋。注意,單詞不能有重復,如果重復則覆蓋替換
以前的解釋數據。
6. 通過命令行參數輸入一個文件夾的路徑名稱,然后編寫程序找出該文件夾下文件名稱重復并且文件大小也一樣的文件,
如果沒有“重復文件”,則輸出“沒有重復文件”的提示,如果有,需要輸出文件名稱,和文件所在的文件夾路徑(絕對路徑)。
提示,需要遍歷該文件夾下所有子文件夾,設計一個文件類,屬性包括文件名稱,文件路徑,文件大小,然后進行“重復”
判斷,如果文件重復,則需要記錄并輸出,有可能有文件名重復,但是文件大小不一樣,重復的文件可能不止2個,可能
在不同的子文件夾下有多個文件重復。
7. 霍夫曼編碼實現壓縮文本文件,見文件huffman.rar. 對文件數據讀寫等功能已經實現,程序在Q2Resources.zip中。
Q2Resources.zip中的文件禁止修改。請將TextZip.java文件所有未實現的函數按照要求給以實現。
改成了控制臺輸入,因為命令行輸入太麻煩了,不過像用命令行也就是改一改就好。
完善了一下霍夫曼樹在寫入和讀取記事本頻率文件時對\r\n無法正確讀取問題。其實就是寫頻率文件的時候將字符'\r'、'\n'替換成字符串"\\r"、"\\n"寫入,對于讀取頻率生成樹時候特判一下將字符串"\\r"、"\\n"轉換為'\r'、'\n'就好。兩天前死活想不到怎么解決,今天突然想到的方法。

代碼片段和文件信息
package?a2;
import?java.io.*;
public?class?Count?{
public?static?void?main(String[]?args)?{
File?file?=?new?File(“a.txt“); //aa.txt是自己的測試文件
BufferedReader?reader?=?null;
String?message[]?=?new?String[8];
????????try?{
???????? reader?=?new?BufferedReader(new?FileReader(file));
???????? for(int?i?=?0;?i?8;?i?++){
???????? message[i]?=?reader.readLine();
???????? }
????????????reader.close();
????????}?catch?(IOException?e)?{
???????? System.err.println(“error!“);
???????? e.printStackTrace();
????????}
????????int?max?=?0;
????????for(int?i?=?0;?i?8;?i?++)
????????{
???????? int?hang?=?0;
???????? int?lie?=?0;
???????? int?xie1?=?0;
???????? int?xie2?=?0;
???????? int?xie3?=?0;
???????? int?xie4?=?0;
???????? for(int?j?=?0;?j?8;?j?++)
???????? {
???????? if(message[i].charAt(j)?==?‘1‘)
???????? hang?++;
???????? if(message[j].charAt(i)?==?‘1‘)
???????? lie?++;
???????? if(i?+?j?8?&&?message[i?+?j].charAt(j)?==?‘1‘) //左下側,\
???????? xie1?++;
???????? if(i?+?j?8?&&?message[j].charAt(i?+?j)?==?‘1‘) //右上側,\
???????? xie2?++;
???????? if(i?-?j?>=?0?&&?message[j].charAt(i?-?j)?==?‘1‘) //左上側,/
???????? xie3?++;
???????? if(i?-?j?>=?0?&&?message[8?-?j?-?1].charAt(8?-?(i?-?j)?-?1)?==?‘1‘) //右下側,/
???????? xie4?++;
???????? }
???????? max?=?Math.max(max?hang);
???????? max?=?Math.max(max?lie);
???????? max?=?Math.max(max?xie1);
???????? max?=?Math.max(max?xie2);
???????? max?=?Math.max(max?xie3);
???????? max?=?Math.max(max?xie4);
????????}
????????System.out.println(max);
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-07-05?09:52??a2\
?????文件?????????232??2019-06-27?17:21??a2\.classpath
?????文件?????????378??2019-06-27?17:21??a2\.project
?????文件????????7177??2019-07-05?09:52??a2\3.txt
?????文件??????????78??2019-06-28?08:58??a2\a.txt
?????文件??????????78??2019-07-05?08:43??a2\aa.txt
?????目錄???????????0??2019-06-28?08:01??a2\bin\
?????目錄???????????0??2019-07-04?08:38??a2\bin\a2\
?????文件????????1850??2019-07-05?08:44??a2\bin\a2\Count.class
?????文件????????3016??2019-07-01?12:05??a2\bin\a2\glossary_5.class
?????文件????????3123??2019-07-05?08:12??a2\bin\a2\Line.class
?????文件????????2751??2019-07-02?09:39??a2\bin\a2\MyFile.class
?????文件?????????830??2019-06-28?08:01??a2\bin\a2\Point.class
?????文件????????1713??2019-07-01?08:15??a2\bin\a2\prime_number_3.class
?????文件????????2995??2019-07-04?20:14??a2\bin\a2\prime_number_4.class
?????文件??????????64??2019-07-01?12:05??a2\glossary.txt
?????目錄???????????0??2019-06-27?17:24??a2\src\
?????目錄???????????0??2019-07-04?08:38??a2\src\a2\
?????文件????????1621??2019-07-05?08:44??a2\src\a2\Count.java
?????文件????????2463??2019-07-01?12:05??a2\src\a2\glossary_5.java
?????文件????????2427??2019-07-05?08:12??a2\src\a2\Line.java
?????文件????????1952??2019-07-02?09:39??a2\src\a2\MyFile.java
?????文件?????????401??2019-06-27?17:42??a2\src\a2\Point.java
?????文件?????????896??2019-07-01?08:15??a2\src\a2\prime_number_3.java
?????文件????????2433??2019-07-04?20:14??a2\src\a2\prime_number_4.java
?????文件????????1962??2019-06-27?17:23??a2\作業要求
?????目錄???????????0??2019-07-07?22:47??huffman\
?????文件?????????304??2019-07-01?12:07??huffman\.classpath
?????文件?????????383??2019-07-01?12:07??huffman\.project
?????文件??????????42??2019-07-07?22:40??huffman\a.freq
?????文件??????????12??2019-07-07?22:41??huffman\a.txt
............此處省略36個文件信息
評論
共有 條評論