北科大2011Java設(shè)計(jì)實(shí)驗(yàn)報(bào)告3_第1頁
北科大2011Java設(shè)計(jì)實(shí)驗(yàn)報(bào)告3_第2頁
北科大2011Java設(shè)計(jì)實(shí)驗(yàn)報(bào)告3_第3頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Java程序設(shè)計(jì)上機(jī)題(三)1. 編寫一個(gè)程序,分別統(tǒng)計(jì)文本文件中元音字母a、e、i、o、u的個(gè)數(shù)請(qǐng)將源程序文本填入下框:i nfile.txtabcdefghigkl mn opqrstu,abcdefghigkl mn opqrst,abcdefghigkl mn pqrst, abcdefghgkl mn pqrst, abcdfghgkl mn pqrst/StatisticLetter.javaimport java.io.*;public class StatisticLetter public static void main(String args) BufferedReade

2、r in;int a = 0;int e = 0;int i = 0;int o = 0;int u = 0;int c;try in = new BufferedReader( new FileReader( "in file.txt" );while (c = in.read() != -1)char c1 =( char )c;if (c1 ='a')a += 1;else if (c1 ='e')e += 1;else if (c1 ='i')i += 1;else if (c1 ='o')o += 1

3、;else if (c1 ='u')u += 1;System. out .print( cl );in .close();System. out.println("na 岀現(xiàn)"+ a +"ne 岀現(xiàn)"+ e +"次"+"ni 岀現(xiàn) “ + i +"次“ +"no 岀現(xiàn)"+ o +"次"+"nu 岀現(xiàn)"+ u +"次“); catch (IOException e1) e1.pri ntStackTrace();/e nd met

4、hod main /end class StatisticLetter運(yùn)行結(jié)果截圖:L Problems Javadoc Declaraticn § Console <terminated> StatisticLetter Java Application E:JAVAjre abedefghigklmnopqrstu abcdefghigklmnopqrst, abedefghigklmnpqrstf 日b匚口已 fghgklmupqzst* abedf qfhgkLmpqrst且出現(xiàn)5次 已岀現(xiàn)4次 i岀現(xiàn)M次。岀現(xiàn)2次 岀現(xiàn)1次2. 編寫一個(gè)程序,從命令行參數(shù)中獲得

5、文件名,讀入該文件,統(tǒng)計(jì)該文件的行 數(shù)。注意處理各種可能出現(xiàn)的異常情況。請(qǐng)將源程序文本填入下框:/ReadLi neNumber.javaimport java.io.*;public class ReadL in eNumber public static void main(String args) BufferedReader in;Stri ng ss;int n =0;try in = new BufferedReader( new FileReader(args0);ss = in .readL in e();while (ss !=null ) n += 1;ss = in .r

6、eadL in e();in .close();System. out.println( "文件"+ args0 +"共有"+ n + "行”); catch (ArrayIndexOutOfBoundsException e1) System, out .println("請(qǐng)輸入文件名!"); catch (FileNotFoundException e2) System. out .println( "No" + " " + args0); catch (IOException e

7、3) e3.pri ntStackTrace();/e nd method main /e nd class ReadL in eNumber運(yùn)行結(jié)果截圖:3. 將兩個(gè)文本文件的內(nèi)容合并到另一個(gè)文本文件中 請(qǐng)將源程序文本填入下框:/Comb in eText.javaimport java.io.*;public class Comb in eText public static void main(String args) try /創(chuàng)建新文件t1.txtFile dir = new File( "myDir");if (!dir.exists()dir.mkdir();

8、File myFile = new File(dir, "t1.txt" );true );/將infile1.txt 的內(nèi)容讀入到t1.txtBufferedWriter br1 = new BufferedWriter( new FileWriter(myFile, BufferedReader ini = new BufferedReader(newFileReader( "in file1.txt");String tempi = in l.readL in e();while (tempi !=null ) && (tempi

9、!="" ) String temp3 =tempi +"n"System. out .println(temp3);bri.write(temp3);t empi = in i.readL in e();bri.close();in i.close();/將infile2.txt的內(nèi)容讀入到ti.txtBufferedWriterbr2 = new BufferedWriter( new FileWriter(myFile,true );BufferedReader in2 = new BufferedReader( newFileReader( &q

10、uot;in file2.txt");Stri ng temp2 = in 2.readL in e();while (temp2 !=null ) && (temp2 !="" ) String temp4 = temp2 +"n"System. out .println(temp4);br2.write(temp4);t emp2 = in 2.readL in e();br2.close();in 2.close();/合并成功輸岀反饋信息System. out .println( "The new file i

11、s created!"); catch (lOException ioe)System. err .println(ioe);/e nd method main /e nd class Comb in eText運(yùn)行結(jié)果截圖:文件(F)劇格戎Q晉看凹蒂助舊)丸京科披大學(xué)于L952年由北洋大學(xué)等五所國(guó)內(nèi)著名大學(xué)的礦冶系科組建而成. 現(xiàn)己發(fā)展成為以工為主,工"理、管*文、經(jīng)、法等多學(xué)科協(xié)調(diào)發(fā)展的教育部直 屬全國(guó)重點(diǎn)大學(xué)*是全國(guó)首批正式成立研究生院的高等蘿校之一1997年W月,學(xué)校首批進(jìn)入國(guó)贏豊1L工程”建諫高枝行列.2006年,學(xué)校成為圍 富叭優(yōu)勢(shì)學(xué)科創(chuàng)新平臺(tái)"淫設(shè)項(xiàng)

12、目試點(diǎn)高枝, -,耳去左件的軸揖舊措也O)魚看(V)霍助(建校五土多年來,學(xué)巒逐步形虛了 "學(xué)鳳嚴(yán)謹(jǐn),崇尚實(shí)雜"的優(yōu)良傳統(tǒng)”為社會(huì) 培養(yǎng)各類人才13余萬人,大郵分已成為國(guó)家政治、經(jīng)濟(jì)、科技、教育等領(lǐng)域尤其是冶金 .材料工業(yè)的棟梁租菁干.黨和國(guó)家領(lǐng)導(dǎo)人羅干、劉淇、儉匡i匕黃孟倒等都曾在松學(xué)習(xí),另有貂名校友當(dāng) 選為中國(guó)科學(xué)院或中國(guó)工程院皖士,一大砒椅友赤上了省長(zhǎng)、市長(zhǎng)的領(lǐng)導(dǎo)崗位* 大批 校京擔(dān)任轅鋼等國(guó)家特大型企業(yè)以及北大方正等大型高新技術(shù)企業(yè)的董事長(zhǎng)列總經(jīng)理. 學(xué)狡被譽(yù)垢“鋼鐵搖藍(lán)”,交怦(F)彌1Srt(O)蘭書幫助)北京科技大學(xué)于均此年由北洋大學(xué)等呂所園內(nèi)苦名大學(xué)的礦洽系

13、科組建而成-3®已發(fā)展感為以工為主.H*理、管、文、經(jīng)、注等多學(xué)科協(xié)調(diào)發(fā)屜的教育龍貢屬辛國(guó) 更點(diǎn)大學(xué),是全國(guó)首批正式成立研究生詵的高等學(xué)校之一199了年5月,學(xué)校首找進(jìn)入國(guó)憲“211工程"建設(shè)高疚存列-2006年,學(xué)檢成為國(guó)冢“優(yōu)勢(shì)學(xué)科創(chuàng)新平合"廷設(shè) 項(xiàng)目試點(diǎn)高校。建校五十雰年來,學(xué)檢逐步形成了 “學(xué)鳳嚴(yán)謹(jǐn),素尚實(shí)踐”的優(yōu)良伶統(tǒng).為社會(huì)培養(yǎng)各類人才比余萬人.大部分已成為國(guó)贏政治*經(jīng)濟(jì).科技,載育零 領(lǐng)域尤其是冶金円林料工業(yè)的柩梁和骨干黨和國(guó)家碩尋人矛干、劉淇、徐匡迪L黃孟宜等郝普在恢學(xué)習(xí).另有S3名校友當(dāng)選為中國(guó)科學(xué)院或中國(guó)工程院院士,一大批 校友走上了崔K、市悅

14、的領(lǐng)導(dǎo)崗位一大批校友擔(dān)任鞍鋼諱國(guó)嶷特大型企業(yè)洪及北大方 正等大型高新技術(shù)企業(yè)的董事快和思經(jīng)理=學(xué)校被譽(yù)為“擁鐵捲籃” U4. 編寫一個(gè)程序在程序所在目錄下創(chuàng)建以下目錄:Root、Root'Branchl、Root'Branch2 ;然后在 Root'Branchl 中創(chuàng)建兩個(gè)空文件 Leaf1.txt 和Leaf2.txt。請(qǐng)將目錄和文件操作的相關(guān)信息保存在文本文件log.txt中。請(qǐng)將源程序文本填入下框:/CreateBra nch.java import java.io.*;public class CreateBranch BufferedWriterbr;Buf

15、feredReaderfinpublic staticvoid main(String args) /新建文件目錄File dir1 = new File( if (!dir1.exists() dir1.mkdir();File dir2 =new File(dir2.mkdir();File dir3 =new File(dir3.mkdir();"Root");"RootWBra nch1");"RootWBra nch2");/新建文件File myFile1 =new File(dir2,"Leaf1.txt&qu

16、ot;)File myFile2 =new File(dir2,"Leaf2.txt")Stri ng temp = dir1.getAbsolutePath() +"n"+ dir2.getAbsolutePath() +"n"+ dir3.getAbsolutePath() +"n"+ myFile1.getAbsolutePath() +"n"+ myFile2.getAbsolutePath() +"n"try myFile1.createNewFile();/ 創(chuàng)建

17、文件 Leaf1.txtmyFile2.createNewFile();/ 創(chuàng)建文件 Leaf2.txtFile f1 = new File( "log.txt" ); / 創(chuàng)建文件 log.txt/將文件信息輸入到log.txtBufferedWriter br1 = new BufferedWriter( new FileWriter(f1, System. out .println(temp);br1.write(temp);br1.close();true );/創(chuàng)建成功輸出反饋信息System. out .println("創(chuàng)建成功!"); c

18、atch (IOException e) e.pri ntStackTrace();/e nd method main /e nd class CreateBra nch運(yùn)行結(jié)果截圖:ProblemsJavadoc | lii Declardtion S Console 燈匸怕rminated? CreateBranch Java Application E:JAVAjre7bi創(chuàng)建成功!4立絆的Si鎖E惟期0)査司V)玨助(Hg: - Dac utiie nt IJ AV.Xirork space j arE 3 4RootH: Dccument JAVA work space1 '

19、 java3_4 ' RQatBranchlH; '.Docunent '、JAVAwurkpac齊 java5_4'RoQtBranch2H ; 、Docunienix JAVAw<?rkspace Java3 4Noot Eranchr Leaf L txtH:'Docuraent'、.JAVA 、norkspacejavaS_4fidotBranchlLeaf2.txt5. 隊(duì)列是一種“先進(jìn)先出”的數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)進(jìn)入隊(duì)列時(shí)只能排在隊(duì)尾,從隊(duì) 列中取數(shù)據(jù)時(shí)只能從隊(duì)頭讀取。請(qǐng)用java語言實(shí)現(xiàn)隊(duì)列類Queue,其中包含in Queue、o

20、utQueue、readFr ont、showQueue emptyQ fullQ、len gth 方法, 分別為入隊(duì)操作、出隊(duì)操作、讀取隊(duì)首元素、顯示隊(duì)列中所有數(shù)據(jù)、判斷隊(duì)空、判斷對(duì)滿、獲取隊(duì)列長(zhǎng)度。新建Queue類的對(duì)象,進(jìn)行以上各種操作。請(qǐng)將源程序文本填入下框:/QueueI nherita nce.java import java.io.*;/結(jié)點(diǎn)類class Node public int element ;public Node link ;public Node()link = null ;/無參構(gòu)造函數(shù)public Node( int newelement,Node newli

21、nk)eleme nt = n eweleme nt; link = n ewli nk;public void setElement( int newelement) eleme nt = n eweleme nt;public int getElement()return element ;public void setLink(Node newlink)link = n ewli nk;public Node getl in k()return link ;/隊(duì)列類class Queue public Node front ;public Node rear ;public int si

22、ze ;private int maxSize;public Queue( int s) / 有參構(gòu)造函數(shù)maxSize = s; /為隊(duì)列定義最大空間 front = rear = new Node();/帶參構(gòu)造函數(shù)/設(shè)置當(dāng)前結(jié)點(diǎn)的數(shù)據(jù)元素/取當(dāng)前結(jié)點(diǎn)的數(shù)據(jù)元素/設(shè)置下一個(gè)結(jié)點(diǎn)的對(duì)象引用/取下一個(gè)結(jié)點(diǎn)的對(duì)象引用public void inQueue( int number) throws Exception/ 入隊(duì)操作if (fullQ()throw new Exception("隊(duì)列已滿! ”);elserear .setLink(new Node(number, rear .

23、 link );rearrear . linksize +;public int outQueue() throws Exception / 岀隊(duì)操作 if (emptyQ()throw new Exception("隊(duì)列已空!");else int temp;temp = front . link .getElement();fro nt .setL ink(front . li nk . li nk );size -;return temp;public int readFront()throws Exception/ 讀取隊(duì)首元素if (emptyQ()throw n

24、ewException("隊(duì)列已空!");else return front . link .getElement();public void showQueue() /顯示隊(duì)列中所有數(shù)據(jù)Node CuFro nt = new Node();CuFront= front ;for (int i = 0; i < size ; i+)System. out.print(CuFront.link .getElement()+"");CuFront.setLink(CuFront.link );CuFront=CuFront. link ;publicb

25、oolean emptyQ() / 判斷隊(duì)空否if (size = 0) return true ;elsereturn false ;publicboolean fullQ()/ / 判斷隊(duì)滿否if (maxSize = size ) return true ;elsereturn false ;public int length()/ 獲取隊(duì)列長(zhǎng)度return size ; public class Queue In herita nee public static void main(String args)throws lOException BufferedReader Input=

26、 new BufferedReader( new InputStreamReader(System. in ); String numberString;System.out.println(”請(qǐng)輸入隊(duì)列的長(zhǎng)度:");n umberStr ing=ln put.readL in e();int s =lnteger.parseInt (numberString);Queue queue = new Queue( s );System.out .println("請(qǐng)輸入入隊(duì)的數(shù)據(jù) :");try for (int j=O;j<s;j+)n umberStr i

27、ng=ln put.readL in e();int number =lnteger.parseInt (numberString);queue.inQueue(number);/ 數(shù)據(jù)入隊(duì)System, out .println(” 隊(duì)列中的數(shù)據(jù)為:”);queue.showQueue(); /顯示隊(duì)列中所有數(shù)據(jù)System. out .println();System. out .println("岀隊(duì)列兩個(gè)數(shù)據(jù)為:");System. out .println(queue.outQueue()+ " " + queue.outQueue() + &

28、quot;n" ); /數(shù)據(jù)出隊(duì)System.out .println("此時(shí)隊(duì)列中的數(shù)據(jù)為:");queue.showQueue();/顯示隊(duì)列中剩余數(shù)據(jù)System.out .println();System.out .println("此時(shí)隊(duì)首數(shù)據(jù)為:"+ "n" +queue.readFr on t();System.out .println("此時(shí)隊(duì)列的長(zhǎng)度為:"+ "n" + queue.le ngth();System.out .println("隊(duì)列空否?&q

29、uot; + "n"+ queue.emptyQ();System.out .println("隊(duì)列滿否?" + "n"+ queue.fullQ(); catch (Exception e)System. out .println(e.getMessage();/e nd method main /e nd class Queue In herita nee運(yùn)行結(jié)果截圖:k丄 ProblEml Javcio匚|風(fēng) DedaEticjn|0 Console 閉、一_、_ <terrrinated> Queuelnherit

30、dnce 卩占me Appli匸呂tion E:JAVAji 請(qǐng)輸入隊(duì)列的長(zhǎng)度:5請(qǐng)輛入入隊(duì)的數(shù)據(jù):54321隊(duì)列中的數(shù)據(jù)為;5 4 3 2 1岀隊(duì)列兩個(gè)數(shù)據(jù)為:5 4此時(shí)隊(duì)列中的數(shù)擁為:3 2 1此時(shí)隊(duì)首數(shù)據(jù)為;3此時(shí)隊(duì)列的長(zhǎng)度為:3隊(duì)列空否?false隊(duì)列滿否2false6. 堆棧Stack是java.util 庫中的工具類。請(qǐng)生成 n個(gè)1到10之間的隨機(jī)整 數(shù),n值由命令行參數(shù)給出。請(qǐng)打印出這n個(gè)數(shù),并進(jìn)行如下操作:如果是奇數(shù)則將該數(shù)壓入堆棧;如果是偶數(shù)并且棧不為空,則將棧頂元素出棧;如 果是偶數(shù)但棧為空,則忽略該數(shù)。請(qǐng)給出程序和操作結(jié)果。請(qǐng)將源程序文本填入下框:/Stack In he

31、rita nce.javaimport java.util.Stack;import java.util.Random;public class Stack In herita nee public static void main(String args) try int n =lnteger.parselnt (argsO);n 值由命令行參數(shù)給岀if (n <= 0 )throw new Exceptio n("請(qǐng)輸入一個(gè)正整數(shù)!");int num =new int n;Ran dom rand = new Ran dom();StackvStri ng>

32、; stack =new StackvStri ng>();for (int i = 0; i < n; i+)n umi = ran d. next In t(10)+1;/ 生成 1-10 之間的隨機(jī)整數(shù)System. out .println("第"+ (i+1) +"個(gè)隨機(jī)數(shù):"+numi);/ 打印岀隨機(jī)數(shù)if (numi%2 = 1)Stri ng s = In teger.toStri ng (n umi);stack.push(s);/將隨機(jī)數(shù)壓入堆棧elseif (!stack.empty()System. out .pri

33、ntln(stack.pop();/ 棧頂元素岀棧elsecontinue ;/忽略該數(shù),繼續(xù)下一個(gè)隨機(jī)數(shù) catch (ArraylndexOutOfBoundsException e1) System. out .println("沒有參數(shù)或參數(shù)不足!"); catch (NumberFormatException e2) System. out .println("輸入的不是數(shù)字!”); catch (Exception e)e.pri ntStackTrace();/e nd method main /e nd class Stack In herita

34、nee運(yùn)行結(jié)果截圖:7. 新建Book類,包括書名、書號(hào)、價(jià)格、字?jǐn)?shù)等屬性、toString()方法,以 及構(gòu)造函數(shù)。請(qǐng)新建包含 Book對(duì)象的集合,按照書號(hào)進(jìn)行排序并輸出排序 之后的結(jié)果。請(qǐng)將源程序文本填入下框:/BookNumber.javaimport java.util.*;class BookStri ng bookName,bookNumber,bookPrice ,bookWordsNumpublic Book(String name, String number, String price, String wordsNum) bookName= n ame; bookNumber = n umber;bookPrice = price; bookWordsNum = wordsNum;public Stri ng getNumber()public String toString()Stri ng output;output =&quo

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論