




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)生學(xué)號(hào) 實(shí)驗(yàn)課成績(jī)武漢理工大學(xué)學(xué) 生 實(shí) 驗(yàn) 報(bào) 告 書(shū)實(shí)驗(yàn)課程名稱 java語(yǔ)言與程序設(shè)計(jì) 開(kāi) 課 學(xué) 院 指導(dǎo)老師姓名 學(xué) 生 姓 名 學(xué)生專業(yè)班級(jí) 2012 2013 學(xué)年 第 一 學(xué)期實(shí)驗(yàn)課程名稱: java語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)項(xiàng)目名稱Java文件輸入輸出流實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)者 專業(yè)班級(jí) 組別同組者實(shí)驗(yàn)日期 年 月 日第一部分:實(shí)驗(yàn)分析與設(shè)計(jì)(可加頁(yè))一、 實(shí)驗(yàn)內(nèi)容描述(問(wèn)題域描述)把下列數(shù)據(jù)寫(xiě)到一個(gè)名為c:myfile.data 的文件中。姓名 年齡 電子郵件Zhang san 20 Zhang-SanLi Si 18 Li_SiWang Er Mazi 21 Wang_er_maziLi
2、u Bang 240 Liu-Bang(一) 利用java.io.FileOutputStream 和java.io.DataOutputStream 直接把表中的數(shù)據(jù)寫(xiě)到文件中(二) 方法2:編寫(xiě)一個(gè)表示每行數(shù)據(jù)的Java Bean,例如Person,然后再使用對(duì)象數(shù)組(三) 方法3:同方法2,但是使用數(shù)據(jù)結(jié)構(gòu)java.util.Vector利用文件輸入流和數(shù)據(jù)輸入流讀入上述文件。利用文件字符流和緩沖字符流讀入下列文件(文件名C:sales.txt):2300589078307850并統(tǒng)計(jì)以上數(shù)值之和。二、 實(shí)驗(yàn)設(shè)計(jì)(包括實(shí)驗(yàn)方案設(shè)計(jì),實(shí)驗(yàn)手段的確定,實(shí)驗(yàn)步驟,實(shí)驗(yàn)過(guò)程等 ) 源程序:pac
3、kage pkg;import java.io.*;public class MyClass public void method01() throws IOException FileOutputStream fos = new FileOutputStream("c:myfile.data"); DataOutputStream dos = new DataOutputStream(fos); dos.writeUTF("Zhang san"); dos.writeInt(20); dos.writeUTF("Zhang_san"
4、); dos.writeUTF("Li Si"); dos.writeInt(18); dos.writeUTF("Li_Si"); dos.writeUTF("Wang Er Mazi"); dos.writeInt(21); dos.writeUTF("Wang_Er_Mazi"); dos.writeUTF("Liu Bang"); dos.writeInt(18); dos.writeUTF("Liu_Bang"); fos.close(); dos.close();
5、 public void method02() throws IOException FileInputStream fis = new FileInputStream("c:myfile.data"); DataInputStream dis = new DataInputStream(fis); String name,email; int age,count; while(count=dis.available()!=0)name = dis.readUTF();age = dis.readInt();email = dis.readUTF();System.out.
6、printf("%-20st%-6dt%-30sn", name,age,email);/ t是水平制表符 ,相當(dāng)于TAB空格 fis.close(); dis.close(); public void method03() throws IOException FileReader fr = new FileReader("c:sales.txt"); BufferedReader br = new BufferedReader(fr); String data; int sum = 0; while(data=br.readLine() != nul
7、l) sum += Integer.parseInt(data); System.out.println("sum = " + sum); fr.close(); br.close(); public static void main(String args) throws IOException/ TODO Auto-generated method stub MyClass mc = new MyClass(); mc.method01(); /mc.method02(); /mc.method03(); /依次調(diào)用method01()、method02()、metho
8、d03()三、主要實(shí)驗(yàn)工具、儀器設(shè)備及耗材 個(gè)人計(jì)算機(jī),Eclipse第二部分:實(shí)驗(yàn)結(jié)果分析(可加頁(yè))一、 實(shí)驗(yàn)結(jié)果描述先執(zhí)行方法一:再執(zhí)行方法二:最后執(zhí)行方法三:二. 實(shí)驗(yàn)小結(jié)、建議及體會(huì) 經(jīng)過(guò)這次實(shí)驗(yàn),我對(duì)java語(yǔ)言有了初步認(rèn)識(shí),對(duì)如何使用java編程有了初步了解,并且嘗試編出一個(gè)簡(jiǎn)單的小程序,實(shí)現(xiàn)了先生成文件再將數(shù)據(jù)寫(xiě)入文件的目的,這對(duì)我有很大的幫助,為我以后的java學(xué)習(xí)打下了基礎(chǔ),以后我會(huì)多加練習(xí),爭(zhēng)取更大的進(jìn)步。實(shí)驗(yàn)課程名稱: java語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)項(xiàng)目名稱Java類繼承及接口實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)者 專業(yè)班級(jí) 組別同組者實(shí)驗(yàn)日期 年 月 日第一部分:實(shí)驗(yàn)分析與設(shè)計(jì)(可加頁(yè))一. 實(shí)驗(yàn)
9、內(nèi)容描述(問(wèn)題域描述) 1、接口之一定義四則運(yùn)算的加減法,接口之二定義四則運(yùn)算的乘除運(yùn)算。類一有一個(gè)打印一個(gè)字符串和一個(gè)整數(shù)的成員方法,要求打印的數(shù)據(jù)通過(guò)形式參數(shù)導(dǎo)入。類二繼承類一并實(shí)現(xiàn)接口一和接口二,且含有用于計(jì)算20 和30 四則運(yùn)算并打印計(jì)算結(jié)果的主函數(shù)。 2、利用標(biāo)準(zhǔn)輸入流輸入一元二次方程的三個(gè)系數(shù),并解該方程。 二、 實(shí)驗(yàn)設(shè)計(jì)(包括實(shí)驗(yàn)方案設(shè)計(jì),實(shí)驗(yàn)手段的確定,實(shí)驗(yàn)步驟,實(shí)驗(yàn)過(guò)程等 )第一題源代碼:接口一:package javacourse;public interface Interface01 public int add(int a, int b);public int su
10、b(int a, int b);接口二:package javacourse;public interface Interace02 public int prod(int a, int b);public int div(int a, int b);父類:package javacourse;public class FatherClass public static void print(String str,int a)System.out.println(str+":"+a);子類:package javacourse;public class AChildClas
11、sextends FatherClassimplements Interface01, Interace02public AChildClass() / TODO Auto-generated constructor stubOverridepublic int prod(int a, int b) / TODO Auto-generated method stubreturn (a*b);2Overridepublic int div(int a, int b)/ TODO Auto-generated method stubtryreturn (a/b);catch(Exception e
12、x)System.out.println("a/b with b=0");return -999;Overridepublic int add(int a, int b) / TODO Auto-generated method stubreturn (a+b);Overridepublic int sub(int a, int b) / TODO Auto-generated method stubreturn (a-b);/* param args*/public static void main(String args) / TODO Auto-generated m
13、ethod stubAChildClass cc = new AChildClass();print("30+20",cc.add(20, 30);print("30-20",cc.sub(30,20);print("30*20",d(30, 20);print("30/20",cc.div(30, 20);第二題參考代碼:package javacourse;import java.io.*;public class ROOT private double a,b,c,x1,x2;private bo
14、olean haRealRoots;3public ROOT() super();/ TODO Auto-generated constructor stubpublic ROOT(double a, double b, double c) super();this.a = a;this.b = b;this.c = c;public double getX1() return x1;public double getX2() return x2;public boolean isHaRealRoots() return haRealRoots;public void pstr(String
15、str)System.out.println(str);public static void print(String str,double a)System.out.println(str+a);public void calRoots()throws IOException,NumberFormatExceptionbytearrA,arrB,arrC;String strA,strB,strC;double delta;arrA = new byte80;arrB = new byte80;arrC = new byte80;pstr("Input coefficient a:
16、");System.in.read(arrA);4pstr("Input coefficient b:");System.in.read(arrB);pstr("Input coefficient c:");System.in.read(arrC);strA = new String(arrA);strB = new String(arrB);strC = new String(arrC);a = Double.parseDouble(strA);b = Double.parseDouble(strB);c = Double.parseDoub
17、le(strC);delta = b*b - 4*a*c;if(delta<0)this.haRealRoots=false;elsethis.haRealRoots=true;x1=(-b+Math.sqrt(delta)/(2*a);x2=(-b-Math.sqrt(delta)/(2*a);/* param args*/public static void main(String args)throws Exception/ TODO Auto-generated method stubROOT rt = new ROOT();rt.calRoots();if(rt.isHaRea
18、lRoots()print("x1=",rt.getX1();print("x2=",rt.getX2();elsert.pstr("Don't exist real roots"); 三、主要實(shí)驗(yàn)工具、儀器設(shè)備及耗材 個(gè)人計(jì)算機(jī), Eclipse第二部分:實(shí)驗(yàn)結(jié)果分析(可加頁(yè))一、 實(shí)驗(yàn)結(jié)果描述 輸入方程無(wú)解: 輸入方程有解:二、 實(shí)驗(yàn)小結(jié)、建議及體會(huì) 經(jīng)過(guò)這次實(shí)驗(yàn)我對(duì)java的類繼承及接口有了初步的認(rèn)識(shí),同時(shí)也進(jìn)一步了解了java的各種類型和變量定義以及表達(dá)式的運(yùn)算,并且親自動(dòng)手編了兩個(gè)程序來(lái)鞏固自己所學(xué)。java語(yǔ)言跟c
19、語(yǔ)言極有相似之處又有不同之處,這次實(shí)驗(yàn)讓我對(duì)java語(yǔ)言的學(xué)習(xí)打下了很好的基礎(chǔ)。 實(shí)驗(yàn)課程名稱: java語(yǔ)言程序設(shè)計(jì) 實(shí)驗(yàn)項(xiàng)目名稱掌握可視化編程,數(shù)據(jù)結(jié)構(gòu),和文件輸入、輸出流實(shí)驗(yàn)成績(jī)實(shí)驗(yàn)者 專業(yè)班級(jí) 組別同組者實(shí)驗(yàn)日期 年 月 日第一部分:實(shí)驗(yàn)分析與設(shè)計(jì)(可加頁(yè))一.實(shí)驗(yàn)內(nèi)容描述(問(wèn)題域描述) 實(shí)驗(yàn)內(nèi)容:編寫(xiě)一個(gè)表示學(xué)生信息(姓名,電話號(hào)碼,電子郵箱,性別)的Java Bean。要求這個(gè)“結(jié)構(gòu)體”實(shí)現(xiàn)java.io.Serializable,以便能夠把若干這樣的對(duì)象寫(xiě)到文件中。使用java.util.Hashtable,即哈希表,來(lái)處理這樣的Java Bean。使用文件輸入、輸出流和對(duì)象輸入
20、、輸出流來(lái)讀、寫(xiě)這樣一個(gè)哈希表對(duì)象。圖形用戶界面要用到采單,列表,對(duì)話框等。Java.awt.Menu, Dialog, List, 等。事件接口可以是java.awt.event.ActionListener 或 java.awt.event.MouseListener。對(duì)話框用于輸入一個(gè)學(xué)生的四項(xiàng)信息,而四個(gè)列表用于顯示所有學(xué)生的四項(xiàng)信息。軟件具備四個(gè)功能:輸入一個(gè)學(xué)生的信息,顯示所有學(xué)生的信息,從文件中加載數(shù)據(jù),以及把當(dāng)前所有的數(shù)據(jù)保存到文件中。而這四項(xiàng)功能由一個(gè)采單來(lái)選擇。二.實(shí)驗(yàn)設(shè)計(jì)(包括實(shí)驗(yàn)方案設(shè)計(jì),實(shí)驗(yàn)手段的確定,實(shí)驗(yàn)步驟,實(shí)驗(yàn)過(guò)程等 )實(shí)驗(yàn)步驟:(1)把myfile.data
21、數(shù)據(jù)文件拷到C 盤(pán)(因?yàn)槔锩嬗幸恍┏跏紨?shù)據(jù))。(2) 在C 盤(pán)下創(chuàng)建文件夾:C:wkjavacourse。(3)把源代碼文件StudentManagmentSystem.java 拷到該文件夾之下,并編譯、解釋執(zhí)行。(4)按照你的想法,修改程序,體會(huì)有關(guān)標(biāo)準(zhǔn)類的使用方法。源程序:package javacourse;import java.awt.*;import java.awt.event.*;import java.util.*;import java.io.*;public class StudentInfoManagmentextends WindowAdapterimplement
22、s ActionListenerFrame mainWindow;MenuBar mb;Menu menu;MenuItem actions;Dialog d1,d2;Font font;java.awt.List lists;Label titles;/*Controls for inputing student's info */Label d1Labs;TextField d1TFs;Button d1Btns;Checkbox d1CBs;CheckboxGroup d1Grp;Button d1Quit;/* Some constant strings */final Str
23、ing messages ="Input student'info","Display all students'infos","Save data into the file","Load info from the file",;/* Hashtable to handle students' infos */Hashtable<String,STUDENT> students = new Hashtable<String,STUDENT>();final Str
24、ing d1Str ="NAME","PHONE","EMAIL"final int NumberFunctionalities = 4;public StudentInfoManagment() / TODO Auto-generated constructor stubpublic void guiSetup()mainWindow =new Frame("A Student Information System");mainWindow.setSize(600,400);mainWindow.setLocat
25、ion(100, 100);font = new Font("Times New Roman",Font.ITALIC,18);mainWindow.setFont(font);mb = new MenuBar();menu = new Menu("Functionalities");actions = new MenuItemNumberFunctionalities;for(int i=0;i<NumberFunctionalities;i+)actionsi=new MenuItem(messagesi);menu.add(actionsi)
26、;actionsi.addActionListener(this);mb.add(menu);mainWindow.setLayout(new GridLayout(1,4);titles = new Label4;lists = new java.awt.List4;for(int i=0;i<4;i+)3titlesi= new Label();listsi=new java.awt.List();titles0.setText("NAME");titles1.setText("PHONE");titles2.setText("EMA
27、IL");titles3.setText("SEX");for(int i=0;i<4;i+)mainWindow.add(listsi);mainWindow.setMenuBar(mb);mainWindow.addWindowListener(this);/*Dialog 01 setup */d1 = new Dialog(mainWindow,messages0,false);d1.setBounds(100,100,400,200);d1Labs = new Label3;d1TFs = new TextField3;for(int i=0;i&
28、lt;3;i+)d1Labsi= new Label(d1Stri);d1TFsi = new TextField(20);d1CBs = new Checkbox2;d1Grp = new CheckboxGroup();d1CBs0=new Checkbox("Male",d1Grp,true);d1CBs1=new Checkbox("Female",d1Grp,false);d1Btns = new Button2;d1Btns0 = new Button("SUBMIT");d1Btns1 = new Button(&quo
29、t;RESET");d1Quit = new Button("QUIT");d1Btns0.addActionListener(this);d1Btns1.addActionListener(this);d1Quit.addActionListener(this);d1.setLayout(new GridLayout(6,2);for(int i=0;i<3;i+)d1.add(d1Labsi);d1.add(d1TFsi);d1.add(d1CBs0);d1.add(d1CBs1);d1.add(d1Btns0);d1.add(d1Btns1);d1.a
30、dd(d1Quit);4mainWindow.setVisible(true);public void actionPerformed(ActionEvent e)Object o = e.getSource();if(o=actions0)d1.setVisible(true);else if(o=d1Btns0)String name,phone,email;boolean isFemale;name = d1TFs0.getText();phone= d1TFs1.getText();email= d1TFs2.getText();isFemale=d1CBs1.getState();S
31、TUDENT aStudent = newSTUDENT(name,phone,email,isFemale);students.put(name,aStudent);else if(o=d1Btns1)for(int i=0;i<3;i+)d1TFsi.setText("");else if(o=d1Quit)d1.dispose();else if(o=actions1)for(int i=0;i<4;i+)listsi.removeAll();Enumeration<STUDENT> enu = students.elements();Stri
32、ngBuffer buf = new StringBuffer();String sexStr;while(enu.hasMoreElements()STUDENT stu = enu.nextElement();5if(stu.isFemale)sexStr="Female"else sexStr="Male"lists0.add(stu.getName();lists1.add(stu.getPhone();lists2.add(stu.getEmail();lists3.add(sexStr);else if(o=actions2)tryFile
33、file = new File("C:myfile.data");FileOutputStream fos =new FileOutputStream(file);ObjectOutputStream oos = new ObjectOutputStream(fos);oos.writeObject(students);fos.close();oos.close();catch(Exception ex)ex.printStackTrace();else if(o=actions3)tryFile file = new File("C:myfile.data&qu
34、ot;);FileInputStream fis =new FileInputStream(file);ObjectInputStream ois = new ObjectInputStream(fis);Hashtable temp = (Hashtable)ois.readObject();Enumeration<STUDENT> enu = temp.elements();while(enu.hasMoreElements()STUDENT stu = enu.nextElement();students.put(stu.getName(), stu);fis.close();ois.close();catch(Exception ex)ex.printStackTrace();6public void windowClosing(WindowEvent e)System.exit(0);/* param args*/public static void main(String args) / TODO Auto-generated method stubnew StudentI
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人餐飲加盟合同范本
- 合同范本乙方賬號(hào)
- 合伙投資風(fēng)險(xiǎn)協(xié)議合同范本
- 修改托管合同范本模板
- 單位體檢合同范本
- 勞務(wù)結(jié)算合同范本
- 賣(mài)買(mǎi)工廠合同范例
- 合伙人簡(jiǎn)易合同范例
- 體檢錄用合同范本
- 兔場(chǎng)養(yǎng)殖合同范本
- 內(nèi)科學(xué)疾病概要-支氣管擴(kuò)張課件
- 2025陜西渭南光明電力集團(tuán)限公司招聘39人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 預(yù)防感冒和流感的方法
- 2024年黑龍江職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 股指期貨基礎(chǔ)知識(shí)介紹培訓(xùn)課件
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 2025中智集團(tuán)招聘重要崗位高頻重點(diǎn)提升(共500題)附帶答案詳解
- xx學(xué)校培訓(xùn)部工作職責(zé)
- T-GXAR 005-2024 制冷機(jī)房運(yùn)行維護(hù)規(guī)程
- 開(kāi)工第一課安全培訓(xùn)總結(jié)精彩
- 二級(jí)WPS Office高級(jí)應(yīng)用與設(shè)計(jì)計(jì)算機(jī)等級(jí)考試試題與參考答案(2024年)
評(píng)論
0/150
提交評(píng)論