版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 隨著計(jì)算機(jī)的應(yīng)用和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)間的通訊量不斷的加大,人們的個(gè)人信息、網(wǎng)絡(luò)間的文件傳遞、電子商務(wù)等方面都需要大力的保護(hù),文件加密技術(shù)也就隨之產(chǎn)生。文件的加密主要是由加密算法實(shí)現(xiàn),加密算法有多種,常見的有RSA、DES、MD5等。本程序設(shè)計(jì)對(duì)文件的加密使用的是DES加密算法。</p><p>
2、; DES是分塊加密的。DES用軟件進(jìn)行解碼需要用很長(zhǎng)時(shí)間,而用硬件解碼速度非常快,1977年,人們估計(jì)要耗資兩千萬美元才能建成一個(gè)專門計(jì)算機(jī)用于DES的解密,而且需要12個(gè)小時(shí)的破解才能得到結(jié)果。所以,當(dāng)時(shí)DES被認(rèn)為是一種十分強(qiáng)壯的加密方法。但今天, 只需 二十萬美元就可以制造一臺(tái)破譯DES的特殊的計(jì)算機(jī),所以現(xiàn)在 DES 對(duì)要求“強(qiáng)壯”加密的場(chǎng)合已經(jīng)不再適用了。</p><p> Java語言具有簡(jiǎn)單、
3、安全、可移植、面向?qū)ο?、健壯、多線程、體系結(jié)構(gòu)中立、解釋執(zhí)行、高性能、分布式和動(dòng)態(tài)等主要特點(diǎn)。利用Java語言中秘密密鑰工廠對(duì)DES算法的支持,使程序?qū)崿F(xiàn)文件加密、解密兩大功能更簡(jiǎn)單。</p><p> 本程序設(shè)計(jì)所采用的就是DES算法。同時(shí)利用Java的GUI編程,生成文本對(duì)話框,對(duì)文件的路徑進(jìn)行選擇、提供密鑰框、加密和解密按鈕。</p><p> 使用本程序可以對(duì)txt,word等
4、多種文件進(jìn)行加密解密,使用便捷實(shí)用,功能完善,滿足了用戶對(duì)文件安全性的需求。</p><p> 關(guān)鍵詞:JAVA , DES, 加密, 解密。</p><p><b> 目 錄</b></p><p><b> 1題目分析1</b></p><p> 1.1課程設(shè)計(jì)的要求和內(nèi)容1&l
5、t;/p><p> 1.2 DES算法描述1</p><p><b> 2概要設(shè)計(jì)3</b></p><p> 2.1抽象數(shù)據(jù)類型的定義3</p><p> 2.1.1 程序所需要引入的包3</p><p> 2.1.2 其他定義3</p><p> 2.
6、2主程序流程圖4</p><p> 2.3各程序模塊之間的層次(調(diào)用)關(guān)系4</p><p><b> 3詳細(xì)設(shè)計(jì)6</b></p><p> 3.1 窗體的設(shè)計(jì)與實(shí)現(xiàn)6</p><p> 3.2文件導(dǎo)入模塊8</p><p> 4測(cè)試分析與結(jié)果9</p>&l
7、t;p> 4.1. 測(cè)試結(jié)果9</p><p> 4.1.1運(yùn)行程序9</p><p><b> 4.1.2加密9</b></p><p> 4.1.3解密11</p><p><b> 總 結(jié)13</b></p><p><b>
8、 參考文獻(xiàn)14</b></p><p><b> 附 錄15</b></p><p><b> 1題目分析</b></p><p> 1.1課程設(shè)計(jì)的要求和內(nèi)容</p><p><b> 基本要求:</b></p><p>
9、1.利用某種加密算法對(duì)指定的文本文件進(jìn)行加密(應(yīng)判斷其是否已經(jīng)加密,若已加密則結(jié)束該步驟,否則提示輸入加密口令,對(duì)文件進(jìn)行加密);</p><p> 2.加密解密方法:本設(shè)計(jì)采用DES加密算法。</p><p> 3.還應(yīng)該提供解密功能。</p><p> 1.2 DES算法描述</p><p> DES ( data encrypt
10、ion Standard) 是一種世界標(biāo)準(zhǔn)的加密形式,已經(jīng)15 年歷史了,雖然有些老,可還算是比較可靠的算法。在七十的初期, 隨著計(jì)算機(jī)之間的通信發(fā)展, 需要有一種標(biāo)準(zhǔn)密碼算法為了限制不同算法的激增使它們之間不能互相對(duì)話。為解決這個(gè)問題, 美國(guó)國(guó)家安全局(N.S.A ) 進(jìn)行招標(biāo)。 I.B.M 公司開發(fā)了一種算法, 稱為:Lucifer。 經(jīng)過幾年的研討和修改, 這種算法, 成為了今天的D.E.S,1976 年11月23 日, 終于被美
11、國(guó)國(guó)家安全局采用。</p><p> DES是一種分組加密算法,他以64位為分組對(duì)數(shù)據(jù)加密。64位一組的明文從算法的一端 輸入,64位的密文從另一端輸出。DES是一個(gè)對(duì)稱算法:加密和解密用的是同一個(gè)算法(除密鑰編排不同以外)。 </p><p> 密鑰的長(zhǎng)度為56位(密鑰通常表示為64位的數(shù),但每個(gè)第8位都用作奇偶檢驗(yàn),可以忽 略)。密鑰可以是任意的56位數(shù),且可以在任意的時(shí)候改變。&
12、lt;/p><p> DES算法的入口參數(shù)有3個(gè):Key,Data,Mode。其中Key為8個(gè)字節(jié)共64位,是DES算法 的工作密鑰;Data也為8個(gè)字節(jié)64位,是要被加密或解密的數(shù)據(jù):Mode為DES的工作方式,有兩種:加密或解密。 </p><p> DES算法的工作過程:若Mode為加密,則用Key對(duì)數(shù)據(jù)Data進(jìn)行加密,生成Data的密碼 形式(64位)作為DES的輸出結(jié)果;若Mo
13、de為解密,則用Key對(duì)密碼形式的數(shù)據(jù)Data解密,還 原為Data的明碼形式(64位)作為DES的輸出結(jié)果。 </p><p> 在通信網(wǎng)絡(luò)的兩端,雙方約定了一致的Key,在通信的源點(diǎn)用Key對(duì)核心數(shù)據(jù)進(jìn)行DES加密 ,然后以密碼形式通過公共通信網(wǎng)(如電話網(wǎng))傳輸?shù)酵ㄐ啪W(wǎng)絡(luò)的終點(diǎn),數(shù)據(jù)達(dá)到目的 地后,用同樣的Key對(duì)密碼數(shù)據(jù)進(jìn)行解密,便再現(xiàn)了明碼形式的核心數(shù)據(jù)。這樣便保證了核 心數(shù)據(jù)(如PIN,MAC等)在公
14、共通信網(wǎng)中傳輸?shù)陌踩院涂煽啃?。通過定期在通信網(wǎng)絡(luò)的源 端和目的端同時(shí)改用新的Key,便能更進(jìn)一步提高數(shù)據(jù)的保密性,這正是現(xiàn)在金融界交易網(wǎng)絡(luò)的流行作法。 </p><p> 隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,加密技術(shù)也在迅速的發(fā)展中,加密解密技術(shù)的實(shí)現(xiàn)主要靠性能好的加密算法,而DES就是在實(shí)踐中被證明的很好的算法,目前此算法已被廣泛運(yùn)用,且在使用中有了一些改進(jìn),DES算法給網(wǎng)絡(luò)文件帶來了可靠的安全性保證。</p>
15、;<p><b> 2概要設(shè)計(jì)</b></p><p> 2.1抽象數(shù)據(jù)類型的定義</p><p> 2.1.1 程序所需要引入的包</p><p> import java.awt.*; //包含用于創(chuàng)建用戶界面和繪制圖形圖像的所有類。</p><p> import ja
16、va.awt.event.*; //提供處理由 AWT 組件所激發(fā)的各類事件的接口和類。</p><p> import javax.swing.*; //提供一組“輕量級(jí)”(全部是 Java 語言)組件,盡量讓這些組件在所有平臺(tái)上的工作方式都相同。</p><p> import java.io.*; //通過數(shù)據(jù)流、序列化和文件系統(tǒng)提供
17、系統(tǒng)輸入和輸出。</p><p> 2.1.2 其他定義</p><p> new BorderLayout() 對(duì)文件加密器對(duì)話框采用BorderLayout管理器。</p><p> new ActionListener() 對(duì)文件的加密和解密設(shè)置事件監(jiān)聽器。</p><p> new ButtonGroup
18、() 定義一個(gè)按鈕組。</p><p> new JRadioButton() 將此按鈕設(shè)置為屬于一個(gè)按鈕組的成員。</p><p> new FileInputStream() 建立文件輸入流以便進(jìn)行文件的讀操作,取其數(shù)據(jù)</p><p> new FileOutputStream() 建立文件輸出流以便將數(shù)據(jù)寫入文件&
19、lt;/p><p> shu1 用整形數(shù)據(jù)保存該密鑰。2.2主程序流程圖</p><p><b> 圖2 主程序流程圖</b></p><p> 2.3各程序模塊之間的層次(調(diào)用)關(guān)系</p><p><b> 模塊定義</b></p>&
20、lt;p><b> (1)主函數(shù)模塊:</b></p><p> 生成加密器框體;獲取數(shù)據(jù)的輸入;調(diào)用加密或解密函數(shù)。</p><p><b> (2)加密模塊:</b></p><p> 判斷密鑰是否合法和文件是否已加密,啟動(dòng)加密操作,顯示操作結(jié)果,并在與源文件同一文件夾下生成密文。</p>
21、<p> (3)加密操作模塊:</p><p> 用DES方法加密輸入的字節(jié)并返回。</p><p><b> (4)解密模塊:</b></p><p> 判斷密鑰是否合法,啟動(dòng)解密操作,顯示操作結(jié)果,并在指定的文件路徑下生成明文。</p><p> (5)解密操作模塊:</p><
22、;p> 用DES方法解密輸入的字節(jié)并返回。</p><p><b> 3詳細(xì)設(shè)計(jì)</b></p><p> 3.1 窗體的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 窗體的總體布局包含按鈕、畫布、文本框、標(biāo)簽等,合理分布達(dá)到視覺的美感。</p><p><b> 代碼實(shí)現(xiàn):</b></p&g
23、t;<p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import java.io.*;</p><p> import javax.swing.*;</p><p> public class key加密 extends JFrame
24、 {</p><p><b> int shu1;</b></p><p> JLabel jl1,jl2;</p><p> String cc;</p><p> JButton queding, xuanz, jiami, jiemi;</p><p> JTextField lu
25、jin,key;</p><p> JTextArea nr;</p><p> JRadioButton qu,xie;</p><p> ButtonGroup fz;</p><p><b> File f;</b></p><p> public key加密(){</p&g
26、t;<p> Container c = getContentPane();</p><p> JPanel jp1 = new JPanel();</p><p> jl1 = new JLabel("輸入路徑");</p><p> lujin = new JTextField(15);</p><p
27、> xuanz = new JButton("選擇");</p><p> jp1.add(jl1);</p><p> jp1.add(lujin);</p><p> jp1.add(xuanz);</p><p> c.add(jp1, BorderLayout.NORTH);</p>
28、<p> nr = new JTextArea();</p><p> c.add(new JScrollPane(nr), BorderLayout.CENTER);</p><p> qu = new JRadioButton("寫入");</p><p> xie = new JRadioButton("取出&q
29、uot;, true);</p><p> fz = new ButtonGroup();</p><p> fz.add(qu);</p><p> fz.add(xie);</p><p> jl2 = new JLabel("密鑰");</p><p> key = new JTex
30、tField(15);</p><p> jiami = new JButton("加密");</p><p> jiemi = new JButton("解密");</p><p> JPanel jp4 = new JPanel();</p><p> jp4.setLayout(new G
31、ridLayout(2, 1, 5, 5));</p><p> JPanel jp2 = new JPanel();</p><p> jp2.add(jl2);</p><p> jp2.add(key);</p><p> jp2.add(jiami);</p><p> jp2.add(jiemi);
32、</p><p> jp4.add(jp2);</p><p> JPanel jp3 = new JPanel();</p><p> queding = new JButton("確定");</p><p> jp3.add(qu);</p><p> jp3.add(xie);<
33、;/p><p> jp3.add(queding);</p><p> jp4.add(jp3);</p><p> c.add(jp4, BorderLayout.SOUTH);</p><p> queding.addActionListener(new ActionListener() {</p><p>
34、 public void actionPerformed(ActionEvent event) {</p><p><b> jian();</b></p><p> if (qu.isSelected())</p><p><b> shuchu();</b></p><p> if (x
35、ie.isSelected())</p><p><b> qu();</b></p><p><b> }</b></p><p><b> });</b></p><p><b> 3.2文件導(dǎo)入模塊</b></p><p&
36、gt; 實(shí)現(xiàn)目標(biāo)文件的導(dǎo)入,通過選擇按鈕導(dǎo)入加密或解密的文件。</p><p> xuanz.addActionListener(new ActionListener() {</p><p> public void actionPerformed(ActionEvent event) {</p><p> JFileChooser fileChooser
37、= new JFileChooser(); // 實(shí)例化文件選擇器</p><p> fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES); // 設(shè)置文件選擇模式,此處為文件和目錄均可</p><p> if(fileChooser.showOpenDialog</p><p>
38、; (key加密.this)==JFileChooser.APPROVE_OPTION) { // 彈出文件選擇器,并判斷是否點(diǎn)擊了打開按鈕</p><p> String fileName=fileChooser.getSelectedFile().getAbsolutePath(); // 得到選擇文件或目錄的絕對(duì)路徑</p><p> lujin.setText(fileNam
39、e); </p><p><b> } </b></p><p><b> } </b></p><p><b> }); </b></p><p><b> 4測(cè)試分析與結(jié)果</b></p><p><b>
40、4.1. 測(cè)試結(jié)果</b></p><p><b> 4.1.1運(yùn)行程序</b></p><p> 首先在我機(jī)器E盤文件夾名為java1的文件夾離創(chuàng)建一個(gè)名為Example.doc文檔用做測(cè)試。</p><p> 圖4-1-1運(yùn)行程序</p><p> 運(yùn)行程序彈出如圖4-1-1對(duì)話框,然后進(jìn)行文件選
41、擇</p><p><b> 4.1.2加密</b></p><p> 圖 4-1-2選擇加密文件</p><p> 根據(jù)需求,選擇所要加密文件的路徑,并打開選取文件</p><p> 圖4-1-3 選取文件,在文本區(qū)中寫入要加密的內(nèi)容并單擊加密按鈕</p><p> 圖4-1-4 該文
42、件已被</p><p><b> 4.1.3解密</b></p><p> 解密操作中對(duì)文件選擇,密碼輸入和加密操作是一樣的。</p><p> 圖4-1-5 選擇要解密的文件</p><p> 圖4-1-6 輸入密碼進(jìn)行文件解密</p><p> 圖4-1-7點(diǎn)擊解密按鈕,得到明文&l
43、t;/p><p><b> 總 結(jié)</b></p><p> 在本次課程設(shè)計(jì)過程中,本人主要是負(fù)責(zé)窗體設(shè)計(jì)與實(shí)現(xiàn)和目標(biāo)文件的導(dǎo)入模塊設(shè)計(jì)。通過本組三個(gè)人的分工協(xié)作,完成了課程設(shè)計(jì)。在完成設(shè)計(jì)期間,我通過不斷網(wǎng)上搜集和查找有關(guān)書集和相關(guān)加密算法的介紹,進(jìn)行認(rèn)真而細(xì)致的學(xué)習(xí),進(jìn)而完成了此次課程設(shè)計(jì)模塊的完成。通過本次設(shè)計(jì)我們也較深入的了解了DES這個(gè)加密算法的原理與
44、作用。</p><p> 通過本次設(shè)計(jì),我意識(shí)到了無論身在何處,團(tuán)隊(duì)的事情遠(yuǎn)遠(yuǎn)大于個(gè)人的事情。學(xué)會(huì)團(tuán)隊(duì)合作才是未來在工作中實(shí)現(xiàn)自身價(jià)值的必備條件。我想課程設(shè)計(jì)的目的,并不僅僅讓我們能把任務(wù)完成吧。大概也有讓我們積極合作,團(tuán)結(jié)奮進(jìn)的意思吧。不管怎么說,我是在意識(shí)上還是在知識(shí)上都有了不小的提高。懂得了,只有細(xì)心的做好每一個(gè)步驟,才能醞釀一個(gè)完美的結(jié)局。</p><p> 本次課程設(shè)計(jì)得到了
45、xx老師的精心指導(dǎo),在老師的指點(diǎn)下和小組成員的共同努力下,一一克服細(xì)節(jié)上的所有問題,并讓它成為合格的設(shè)計(jì)。讓本次任務(wù)順順利利的完成,在此謝謝xx老師的教導(dǎo)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)教程.北京: 人民郵電出版社,2006. </p><p>
46、[2] 耿祥義.Java2使用教程: 清華大學(xué)出版社,2006. </p><p> [3] 方敏,張彤.網(wǎng)絡(luò)應(yīng)用程序設(shè)計(jì).西安:電子科技大學(xué)出版社,2005. </p><p> [4] 黃超.Windows下的網(wǎng)絡(luò)編程.北京:人民郵電出版社,2003. </p><p><b> 附 錄</b
47、></p><p> 程序?qū)崿F(xiàn)Java源代碼</p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import java.io.*;</p><p> import javax.swing.*;</p>
48、<p> public class key加密 extends JFrame {</p><p><b> int shu1;</b></p><p> JLabel jl1, jl2;</p><p> String cc;</p><p> JButton queding, xuanz, ji
49、ami, jiemi;</p><p> JTextField lujin, key;</p><p> JTextArea nr;</p><p> JRadioButton qu, xie;</p><p> ButtonGroup fz;</p><p><b> File f;</b&
50、gt;</p><p> public key加密(){</p><p> Container c = getContentPane();</p><p> JPanel jp1 = new JPanel();</p><p> jl1 = new JLabel("輸入路徑");</p><p&
51、gt; lujin = new JTextField(15);</p><p> xuanz = new JButton("選擇");</p><p> jp1.add(jl1);</p><p> jp1.add(lujin);</p><p> jp1.add(xuanz);</p><p
52、> c.add(jp1, BorderLayout.NORTH);</p><p> nr = new JTextArea();</p><p> c.add(new JScrollPane(nr), BorderLayout.CENTER);</p><p> qu = new JRadioButton("寫入");</p&
53、gt;<p> xie = new JRadioButton("取出", true);</p><p> fz = new ButtonGroup();</p><p> fz.add(qu);</p><p> fz.add(xie);</p><p> jl2 = new JLabel(&quo
54、t;密鑰");</p><p> key = new JTextField(15);</p><p> jiami = new JButton("加密");</p><p> jiemi = new JButton("解密");</p><p> JPanel jp4 = new JP
55、anel();</p><p> jp4.setLayout(new GridLayout(2, 1, 5, 5));</p><p> JPanel jp2 = new JPanel();</p><p> jp2.add(jl2);</p><p> jp2.add(key);</p><p> jp2.
56、add(jiami);</p><p> jp2.add(jiemi);</p><p> jp4.add(jp2);</p><p> JPanel jp3 = new JPanel();</p><p> queding = new JButton("確定");</p><p> jp
57、3.add(qu);</p><p> jp3.add(xie);</p><p> jp3.add(queding);</p><p> jp4.add(jp3);</p><p> c.add(jp4, BorderLayout.SOUTH);</p><p> queding.addActionList
58、ener(new ActionListener() {</p><p> public void actionPerformed(ActionEvent event) {</p><p><b> jian();</b></p><p> if (qu.isSelected())</p><p><b>
59、 shuchu();</b></p><p> if (xie.isSelected())</p><p><b> qu();</b></p><p><b> }});</b></p><p> xuanz.addActionListener(new ActionListe
60、ner() {</p><p> public void actionPerformed(ActionEvent event) {</p><p> JFileChooser fileChooser = new JFileChooser(); // 實(shí)例化文件選擇器</p><p> fileChooser.setFileSelectionMode(JFile
61、Chooser.FILES_AND_DIRECTORIES); // 設(shè)置文件選擇模式,此處為文件和目錄均可</p><p> if(fileChooser.showOpenDialog</p><p> (key加密.this) == JFileChooser.APPROVE_OPTION) { // 彈出文件選擇器,并判斷是否點(diǎn)擊了打開按鈕</p><p>
62、 String fileName=fileChooser.getSelectedFile().getAbsolutePath(); // 得到選擇文件或目錄的絕對(duì)路徑</p><p> lujin.setText(fileName); </p><p><b> }</b></p><p><b> }});</b>
63、;</p><p> jiemi.addActionListener(new ActionListener() {</p><p> public void actionPerformed(ActionEvent event) {</p><p> ObjectInputStream input;</p><p><b>
64、try {</b></p><p> input = new ObjectInputStream(new FileInputStream(lujin.getText()));</p><p> int mima = Integer.parseInt(key.getText());</p><p> AA ac = (AA) input.readOb
65、ject();</p><p> if (ac.getShu() == mima) {</p><p> nr.setText(ac.cc);</p><p><b> shuchu();</b></p><p><b> } else {</b></p><p>
66、 nr.setText("錯(cuò)誤的key");</p><p><b> }</b></p><p> } catch (Exception e) {</p><p> // e.printStackTrace();</p><p> nr.setText("無法解密");&
67、lt;/p><p><b> }}});</b></p><p> jiami.addActionListener(new ActionListener() {</p><p> public void actionPerformed(ActionEvent event) {</p><p> AA a = new
68、AA(nr.getText());</p><p> key.setText(a.shu + "");</p><p><b> try {</b></p><p> ObjectOutputStream output = new ObjectOutputStream(</p><p> ne
69、w FileOutputStream(lujin.getText()));</p><p> output.writeObject(a);</p><p> output.flush();</p><p> output.close();</p><p><b> qu();</b></p><
70、;p><b> baocun();</b></p><p> } catch (Exception e) {</p><p> // e.printStackTrace();</p><p> nr.setText("必須選擇加密文件保存地址,文件不存在或者無法加密文件,加密文件不能含有換行");</p&
71、gt;<p><b> }}});</b></p><p> setSize(380, 350);</p><p> setVisible(true);</p><p><b> }</b></p><p> public void jian() {</p>&
72、lt;p> f = new File(lujin.getText());</p><p><b> try {</b></p><p> f.createNewFile();</p><p> } catch (IOException e) {</p><p> JOptionPane.showMessa
73、geDialog(null, "路徑錯(cuò)誤");</p><p><b> }}</b></p><p> public void shuchu() {</p><p><b> try {</b></p><p> FileOutputStream out = new F
74、ileOutputStream(f);</p><p> byte buf[] = nr.getText().getBytes();</p><p><b> try {</b></p><p> out.write(buf);</p><p> out.flush();</p><p>
75、 out.close();</p><p> } catch (IOException e) {</p><p> // e.printStackTrace();</p><p><b> }</b></p><p> } catch (FileNotFoundException e) {</p>
76、<p> // e.printStackTrace();</p><p><b> }}</b></p><p> public void qu() {</p><p><b> try {</b></p><p> FileInputStream in = new FileI
77、nputStream(f);</p><p> int a = (int) f.length();</p><p> byte buf[] = new byte[a];</p><p><b> try {</b></p><p> int len = in.read(buf);</p><p
78、> if (len == -1)</p><p> System.out.println("文件為空");</p><p><b> else</b></p><p> nr.setText(new String(buf, 0, len));</p><p> } catch (IOE
79、xception e) {</p><p> // e.printStackTrace();</p><p><b> }</b></p><p> } catch (FileNotFoundException e) {</p><p> // e.printStackTrace();</p>&l
80、t;p><b> }}</b></p><p> public static void main(String arge[]) {</p><p> key加密 s = new key加密();</p><p> s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</p>
81、<p><b> }</b></p><p> public String mzi() {</p><p> String ccc = "";</p><p> int zu[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };</p><p> for (in
82、t i = 0; i < 6; i++) {</p><p> int second = (int) (Math.random() * 9);</p><p> ccc += zu[second];</p><p><b> }</b></p><p> return ccc;</p><
83、;p><b> }</b></p><p> public void baocun() {</p><p> AA a = new AA();</p><p> shu1 = a.getShu();</p><p> a.shu = shu1;</p><p><b>
84、 }}</b></p><p> class AA implements Serializable {</p><p> String cc;</p><p> public int shu;</p><p> public AA() {</p><p><b> }</b>
85、</p><p> public int getShu() {</p><p> return shu;</p><p><b> }</b></p><p> public void setShu(int shu) {</p><p> this.shu = shu;</p>
86、;<p><b> }</b></p><p> public AA(String a) {</p><p><b> cc = a;</b></p><p> int zu[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };</p><p> for (i
87、nt i = 0; i < 1000; i++) {</p><p> int second = (int) (Math.random() * 9);</p><p> shu += zu[second];</p><p><b> }</b></p><p><b> }}</b>&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- des算法實(shí)現(xiàn)-課程設(shè)計(jì)
- des課程設(shè)計(jì)報(bào)告--網(wǎng)絡(luò)安全
- DES-3DES算法的VLSI設(shè)計(jì).pdf
- 算法課程設(shè)計(jì)
- 算法課程設(shè)計(jì)
- 網(wǎng)絡(luò)安全課程設(shè)計(jì)---基于des加密的聊天程序
- 行家算法課程設(shè)計(jì)
- 課程設(shè)計(jì)-排序算法比較
- bfgs算法實(shí)現(xiàn)課程設(shè)計(jì)
- 算法分析與設(shè)計(jì)課程設(shè)計(jì)
- rsa算法課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)--貪心算法
- rsa算法課程設(shè)計(jì)報(bào)告
- 關(guān)鍵路徑算法課程設(shè)計(jì)
- bfgs算法實(shí)現(xiàn)課程設(shè)計(jì)
- 課程設(shè)計(jì)--算法設(shè)計(jì)與實(shí)踐
- 課程設(shè)計(jì)---蜂群算法及其應(yīng)用
- 算法課程設(shè)計(jì)—校園導(dǎo)航問題
- 操作系統(tǒng)課程設(shè)計(jì)-模擬銀行家算法-課程設(shè)計(jì)
- 算法分析與設(shè)計(jì)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論