


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Java程序設計上機實驗指導書實驗一類與對象【實驗目的】 使用類來封裝對象的屬性和功能; 掌握類變量與實例變量,以及類方法與實例方法的區別; 理解接口?塑型?多態的概念并能熟練應用? 鞏固以下概念:子類的繼承性子類對象的創建過程成員變量的繼承與隱藏方法的繼承與重寫【實驗任務】1?創建Java類與對象併創建方法(1) .編寫一個Java程序片斷,以定義一個表示學生的類Student?這個類的屬性有“學號”?“班號”?“姓名”?“性別”?“年齡”,方法有“獲得學號”?“獲得班號”?“獲得性別”?“獲得姓名”?“獲得年齡”?“獲得年齡”?(2) .為類Student增加一個方法publicStrin
2、gtoString(),該方法把Student類的對象的所有屬性信息組合成一個字符串以便輸出顯示?編寫一個JavaApplication程序,創建Student類的對象,并驗證新增加的功能?classStudentprivatelongstudentID;privateintclassID;privateStringname;privateStringsex;privateintage;publicStudent(longstudentlD,intclassID,Stringname,Stringsex,intage)this.studentID=studentID;this.classlD=
3、classlD;=name;this.sex=sex;this.age=age;publiclonggetStudentID()returnstudentID;publicintgetClassID()returnclassID;publicStringgetName()returnname;publicStringgetSex()returnsex;publicintgetAge()returnage;publicStringtoString()return"學號:"+getStudentlD()+"n班號:"+getClasslD(
4、)+"n姓名:"+getName()+"n性別:"+getSex()+"n年齡:"+getAge();publicclassStudentDemopublicstaticvoidmain(Stringargs)Students1=newStudent(90221,2,"Tom","male",20);System.out.println(s1.toString();運行結果:學號:90221班號:2姓名:Tom性別:male年齡:202?三角形?梯形和圓形的類封裝實驗要求:編寫一個Java應用程
5、序,該程序中有3個類:Trangle?Leder和Circle,分別用來刻畫“三角形”?“梯形”和“圓形”?具體要求如下:a) Trangle類具有類型為double的三個邊,以及周長?面積屬性,Trangle類具有返回周長?面積以及修改三個邊的功能?另外,Trangle類還具有一個boolean型的屬性,該屬性用來判斷三個屬能否構成一個三角形?b) Lader類具有類型double的上底?下底?高?面積屬性,具有返回面積的功能?c) Circle類具有類型為double的半徑?周長和面積屬性,具有返回周長?面積的功能?程序運行效果示例:程序運行效果如下圖所示:程序模板:AreaAndLeng
6、th.javaclassTrangledoublesideA,sideB,sideC,area,length;booleanboo;publicTrangle(doublea,doubleb,doublec)【代碼1】/參數a,b,c分另U賦值給sideA,sideB,sideCif(【代碼2】)/a,b,c構成三角形的條件表達式【代碼3】/給boo賦值?else【代碼4】/給boo賦值?doublegetLength()【代碼5】方法體,要求計算出length的值并返回publicdoublegetArea()if(boo)doublep=(sideA+sideB+sideC)/2.0;ar
7、ea=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC);returnarea;else(”不是一個三角形,不能計算面積");return0;publicvoidsetABC(doublea,doubleb,doublec)【代碼6】/參數a,b,c分另U賦值給sideA,sideB,sideCif(【代碼7】)/a,b,c構成三角形的條件表達式【代碼8】/給boo賦值?else【代碼9】/給boo賦值?classLaderdoubleabove,bottom,height,area;Lader(doublea,doubleb,doubleh)【代碼1
8、0】方法體,將參數a,b,c分別賦值給above,bottom,heightdoublegetArea()【代碼11】/方法體,要求計算出area返回classCircledoubleradius,area;Circle(doubler)【代碼12】方法體doublegetArea()【代碼13】/方法體,要求計算出area返回doublegetLength()【代碼14】/getArea方法體的代碼,要求計算出length返回voidsetRadius(doublenewRadius)radius=newRadius;doublegetRadius()returnradius;publicc
9、lassAreaAndLengthpublicstaticvoidmain(Stringargs)doublelength,area;Circlecircle=null;Trangletrangle;Laderlader;【代碼15】/創建對象circle【代碼16】/創建對象trangle?【代碼17】/創建對象lader【代碼18】/circle調用方法返回周長并賦值給length(”圓的周長"length);【代碼19】/circle調用方法返回面積并賦值給area(”圓的面積:"+area);【代碼20】/trangle調用方法返回周長并賦值給(”三角形的周長:&q
10、uot;+length);【代碼21】/trangle調用方法返回面積并賦值給(”三角形的面積:"+area);【代碼22】/lader調用方法返回面積并賦值給area(”梯形的面積:"+area);【代碼23】/trangle調用方法設置三個邊,要求將三個邊修改為12,34,1?【代碼24】/trangle調用方法返回面積并賦值給(”三角形的面積:"+area);【代碼25】/trangle調用方法返回周長并賦值給(”三角形的周長:"+length);實驗后的練習:1. 程序中僅僅省略【代碼程序中僅僅省略【代碼2. 程序中僅僅省略【代碼15】,編譯能通
11、過嗎?16】,編譯能通過嗎?15】,運行時出現怎樣的異常提示3?實例成員與類成員?實驗要求:按程序模板的要求編寫源文件出的結果?,要特別注意程序的輸出結果,并能正確解釋輸程序運行效果示例:程序運行效果如下圖所示程序模板:Example.javaclassA【代碼1】【代碼2】voidsetA(floata)/聲明一個float型實例變量a/聲明一個float型類變量b,即static變量b【代碼3】/將參數a的值賦值給成員變量avoidsetB(floatb)【代碼4】/將參數b的值賦值給成員變量bfloatgetA()returna;floatgetB()returnb;voidinputA
12、()System.out.println(a);staticvoidinputB()System.out.println(b);publicclassExamplepublicstaticvoidmain(Stringargs)【代碼5】/通過類名操作類變量b,并賦值100【代碼6】/通過類名調用方法inputB()Acat=newA();Adog=newA();【代碼7】/cat象調用方法setA(inta)將cat的成員a的值設置為200【代碼8】/cat調用方法setB(intb)將cat的成員b的值設置為400【代碼9】/dog象調用方法setA(inta)將dog的成員a的值設置為1
13、50【代碼10】/dog調用方法setB(intb)將dog的成員b的值設置為300【代碼11】/cat調用inputA()?【代碼12】/cat調用inputB()?【代碼13】/dog調用inputA()?【代碼14】/dog調用inputB()?實驗后的練習:1. 將inputA()方法中的System.out.println(a);改寫為System.out.println(a+b);編譯是否出錯?為什么?2. 將inputB()方法中的System.out.println(b);改寫為System.out.println(a+b);編譯是否報錯?為什么?將本次上機實驗結果按照實驗要求
14、內容依次進行,填寫實驗目標?過程?結果?【注意事項】 實驗報告要求每人提交一份,使用專門的報告紙,內容寫全,包括實驗名稱?班級?姓名?同組人,試驗日期?交報告日期等? 報告不需要填寫源代碼,只要將完成情況和所有練習題結果寫上就可以?實驗二多線程實驗項目名稱:多線程同組人實驗時間:實驗室指導教師:一?實驗目的1. 掌握Java概念;2. 熟悉繼承Thread類的多線程編程;3. 熟悉繼承Runnable接口的多線程編程;4. 了解多線程編程中方法的覆蓋?二?實驗任務輸入下面的JavaApplication程序,運行該程序,并簡要分析程序的運行結果?classSimpleThreadextends
15、Thread23456789publicSimpleThread(Stringstr)super(str);調用其父類的構造方法publicvoidrun()/重寫run方法for(inti=0;i<10;i+)System.out.println(i+""+getName();打印次數和線程的名字try10:sleep(int)(Math.random()*1000);121314151611:線程睡眠,把控制權交出去catch(InterruptedExceptione)System.out.println("DONE!"+getName();
16、線程執行結束17:18:1:publicclassTwoThreadsTest2:publicstaticvoidmain(Stringargs)3:newSimpleThread("First").start();4:第一個線程的名字為First5:newSimpleThread("Second").start();6:第二個線程的名字為Second7:&編寫程序,將上面多線程程序用Runnable接口來實現?1. 分別用繼承Thread類和Runnable接口的方法實現多線程程序?有三個銀行員工,工作一段時間后,都會選擇一個隨機的時間休息(如
17、休息0-6秒),在程序當中顯示員工休息時間黃石火車站下面有三個火車票代售點,假如說黃石到北京的火車票總共是200張,如何用程序來實現三個售票點同時賣票的功能?實驗三JDBC與數據庫訪問實驗項目名稱:同組人實驗時間:201367-2013621實驗室k4-207指導教師:實驗目的:1?理解JDBC的組成和結構2?掌握Java程序與數據庫的鏈接技術3?掌握在Java程序中使用java.sql包中提供的DriverManager類?Connection?Statement?ResultSet類來存取數據庫中數據的方法實驗任務:首先建立一個數據庫,在此基礎上通過編程實現以下功能:(1) 在數據庫中建立一個表,表名為職工,其結構為:編號
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年黔東南州劍河縣城鎮公益性崗位招聘筆試真題
- 2024年邵陽市教育局直屬事業單位招聘選調教職工考試真題
- 2024年菏澤工程技師學院招聘教師筆試真題
- 2024年蚌埠市第三中醫院招聘考試真題
- 高二升高三數學暑假作業07 離散型隨機變量的分布列及數字特征(原卷版)
- 神經系統病病人的護理講課件
- 成功營銷策略的構建與執行
- 教育信息化在職業教育中的應用與實踐
- 信息技術咨詢采購合同范本
- 2025年營養學試題
- JG/T 272-2010預制高強混凝土薄壁鋼管樁
- JG/T 266-2011泡沫混凝土
- 雜屋轉讓合同協議書
- 情侶送禮轉賬協議書
- 國際壓力性損傷-潰瘍預防和治療臨床指南(2025年版)解讀課件
- 模具工廠MES項目技術方案
- 貨梯使用安全培訓
- 船舶建造項目管理-全面剖析
- 護苗行動法治教育
- 財務合規培訓
- 2023年北京大學考博英語真題及答案
評論
0/150
提交評論