


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)名稱】實(shí)驗(yàn) 2 類和對(duì)象 【實(shí)驗(yàn)?zāi)康摹?、學(xué)習(xí)和掌握J(rèn)ava創(chuàng)建對(duì)象的方法。2、學(xué)習(xí)和掌握通過(guò)創(chuàng)建對(duì)象、使用類的方法。3、學(xué)習(xí)和掌握J(rèn)ava類定義的方法。4、了解類設(shè)計(jì)的一般原則。【實(shí)驗(yàn)內(nèi)容】1、(Java API類的應(yīng)用)使用類,創(chuàng)建種子是1000 的Ran dor對(duì)象,然后使用n extl nt(1OO)方法顯示0到100之間前50個(gè)隨 機(jī)整數(shù)。說(shuō)明:題目來(lái)源編程練習(xí)8.4( P238)。請(qǐng)查閱JavaAPI文檔,了 解的功能和使用方法。【實(shí)驗(yàn)預(yù)習(xí)】1、輸出0-100之間的 50個(gè)隨機(jī)整數(shù)。2、建立種子為1000的random對(duì)象,返回0-100之間的隨機(jī)整數(shù)型 值,再輸出這些值。3、
2、技術(shù)支持:用了 類,及循環(huán)語(yǔ)句?!靖剑撼绦虼a】public class RandomProgrampublic static void main(Stringargs)/以1000構(gòu)造random對(duì)象/輸出0-100內(nèi)的50個(gè)隨機(jī)整型值for(int i=0;i<50;i+)【實(shí)驗(yàn)過(guò)程及結(jié)果記錄】在實(shí)驗(yàn)中遇到的問(wèn)題:忘記寫特定種子,這樣使用的就是當(dāng)前時(shí)間作為種子構(gòu)造random對(duì)象。2、(使用StackOfIntegers類,顯示素?cái)?shù)因子)編寫一個(gè)程序,提示 用戶輸入一個(gè)正整數(shù),然后以降序顯示它的所有最小因子。例如:如 果整數(shù)為120,那么顯示的最小因子為5、3、2、2、2。使用Sta
3、ckOfIntegers類存儲(chǔ)因子(如:2、2、2、3、5),獲取之后按倒 序顯示這些因子。說(shuō)明:題目來(lái)源編程練習(xí)10.5( P296)。StackOfIntegers類實(shí)現(xiàn),參見(jiàn)10.9 “堆棧類設(shè)計(jì)”、類圖10-11(P288)。求素?cái)?shù)因子算法, 參考編程練習(xí)4.16( P117)?!緦?shí)驗(yàn)預(yù)習(xí)】1. 輸出一個(gè)正整數(shù)的所有素?cái)?shù)因子。2. 輸入:用 scanner 輸入一個(gè)正整數(shù)。處理:當(dāng)改正整數(shù)能被 2以上整除時(shí),將除數(shù)放入棧中,商賦給除數(shù),否則除數(shù)加 1,循環(huán)上述步驟,知道被除數(shù)為 1停止。 輸出:將棧中的數(shù)一次輸出。3:技術(shù)支持:創(chuàng)建了 StackOfIntegers 類,使用了堆棧類設(shè)
4、計(jì)方法, 使用了循環(huán)語(yǔ)句,條件語(yǔ)句,輸出語(yǔ)句等?!靖剑撼绦虼a】public class testStacksOfIntegerspublic static void main(String args) / 創(chuàng)建 StacksOfIntegers 類StackOfIntegers stack = new StackOfIntegers();/ 輸入一個(gè)正整數(shù)Scanner input=new Scanner(System.in);int limit=input.nextInt();int k,s,i=2;s=limit;/ 判斷除數(shù)是否為該整數(shù)的素?cái)?shù)因子dok= s%i;if(k=0)s=s/
5、i;stack.push(i);elsei+;while(s!=1);/ 輸出棧中的數(shù),即素?cái)?shù)因子while (!stack.empty()+ " ");/ 創(chuàng)建 StacksOfIntegers 類Public class StackOfIntegers private int elements;private int size;public static final int DEFAULT_CAPACITY = 16;/ 構(gòu)建一個(gè)默認(rèn)容量為 16的空棧public StackOfIntegers() this(DEFAULT_CAPACITY);/ 構(gòu)建一個(gè)指定容量的空
6、棧public StackOfIntegers(int capacity) elements = new intcapacity;/ 將一個(gè)整數(shù)存儲(chǔ)到棧頂public void push(int value) if (size >= elements.length) int temp = new intelements.length * 2;temp, 0,System.arraycopy(elements, 0, elements.length);elements = temp;elementssize+ = value;/ 刪除棧頂?shù)恼麛?shù)并返回它public int pop() re
7、turn elements-size;/ 返回棧頂?shù)恼麛?shù)而不從棧中刪除該數(shù)public int peek() return elementssize - 1;/ 如果棧為空則返回 truepublic boolean empty() retur n size = 0;/返回棧中元素個(gè)數(shù)public int getSize() retur n size;【實(shí)驗(yàn)過(guò)程及結(jié)果記錄】在實(shí)驗(yàn)中遇到的問(wèn)題:在實(shí)驗(yàn)開(kāi)始時(shí)不會(huì)使用堆棧類設(shè)計(jì)方法,經(jīng)過(guò)看書上例題,學(xué)會(huì)了如何使用。3、(風(fēng)扇類Fan的應(yīng)用和實(shí)現(xiàn))根據(jù)編程練習(xí)8.8( P239)的描述,第 一步,請(qǐng)畫出風(fēng)扇Fan類的UM類圖。第二步,編寫一個(gè)測(cè)試程序
8、(Fan 類應(yīng)用),創(chuàng)建兩個(gè)Fan對(duì)象,用第一個(gè)Fan對(duì)象表示“最大速度 運(yùn)轉(zhuǎn)、半徑為10、顏色為黃色、處于打開(kāi)狀態(tài)”的風(fēng)扇;用第二個(gè) Fan對(duì)象表示“中等速度運(yùn)轉(zhuǎn)、半徑為5、顏色為藍(lán)色、處于關(guān)閉狀態(tài)” 的風(fēng)扇;通過(guò)調(diào)用toString()方法顯示這些風(fēng)扇的屬性信息。 程序 可以TestFan.java中。第三步,實(shí)現(xiàn)風(fēng)扇類Fan,可以編寫在Fan.java 文件中。第四步,編譯運(yùn)行該程序。【實(shí)驗(yàn)預(yù)習(xí)】1. 通過(guò)創(chuàng)建Fan類,輸出一個(gè)風(fēng)扇的自身屬性2. 構(gòu)建一個(gè)風(fēng)扇類,構(gòu)建特殊實(shí)例,通過(guò)調(diào)用其中的方法,顯示該 實(shí)例的屬性。3. 技術(shù)支持:構(gòu)建風(fēng)扇類,使用了構(gòu)造方法、一般方法,訪問(wèn)器, 修改器。
9、使用了輸出語(yǔ)句等。4. 實(shí)驗(yàn)步驟:畫出uml圖,構(gòu)建風(fēng)扇類,再寫出main方法?!綰M圖】4SLCIW: int = 1+MED1UM: int 二 2-H=AST; int = 3-speed: int = 1 -on: boclMn = false -radu&: doubly = 5 -color: 5trTig = blue4ei£peed0! int +5etSpeedne7-.'Speed: int); void -HsOnQ: boolean-4-setOn(newStatus: boolean): void-t-ge(Radius0: double-l
10、-setRadnewRadius: double): double -1-getCDlDrO! string肝亡tCobrfne'zColor; string); string +toStringQ: void【附:程序代碼】public class Fan Program/主方法public static void main( Stri ngargs)/創(chuàng)建一個(gè)Fan對(duì)象,其設(shè)置為最大風(fēng)速、半徑為10、顏色為yellow、 狀態(tài)為打開(kāi)。Fan fan1=new Fan();fan1.setSpeed(Fan.FAST); fan1.setRadius(10);fan1.setColo
11、r("yellow"); fan1.setOn(true);/ 輸出該實(shí)例對(duì)象的屬性 / 創(chuàng)建一個(gè)對(duì)象,其設(shè)置為中等風(fēng)速、半徑為 5、顏色為 blue 、狀態(tài) 為關(guān)閉。Fan fan2=new Fan();fan2.setSpeed(Fan.MEDIUM); fan2.setRadius(5);fan2.setColor("blue"); fan2.setOn(false);/ 輸出該實(shí)例對(duì)象的屬性/ 創(chuàng)建一個(gè)風(fēng)扇類Public class Fanfinal static int SLOW=1;final static int MEDIUM=2;fina
12、l static int FAST=3;private int speed=1;private boolean on=false;private double radius=5;private String color="blue"/ 風(fēng)扇類的無(wú)參構(gòu)造方法Fan()/ 返回這個(gè)風(fēng)扇類的風(fēng)速public int getSpeed()return speed;/ 設(shè)置這個(gè)風(fēng)扇的新風(fēng)速public void setSpeed(int newSpeed) speed=newSpeed;/ 返回這個(gè)風(fēng)扇的狀態(tài)public boolean isOn()return on;/ 設(shè)置這個(gè)風(fēng)
13、扇的新的狀態(tài)public void setOn(boolean newSpeed)on=newSpeed;/ 返回這個(gè)風(fēng)扇的半徑public double getRadius()return radius;/ 設(shè)置這個(gè)風(fēng)扇的新的半徑public void setRadius(double newRadius) radius=newRadius;/ 返回這個(gè)風(fēng)扇的顏色public String getColor()return color;/ 設(shè)置這個(gè)風(fēng)扇的新的顏色public void setColor(String newColor)color=newColor;/ 返回描述風(fēng)扇的字符串pu
14、blic String toString()return "speed "+speed+"n"+"color "+color+"n"+"radius "+radius+"n"+(on) ? "fan is on" : " fan is off");【實(shí)驗(yàn)過(guò)程及結(jié)果記錄】在實(shí)驗(yàn)中遇到的問(wèn)題:在用toString時(shí),使用了選擇運(yùn)算符,簡(jiǎn)化代 碼。用if語(yǔ)句,比較長(zhǎng)。4. (tax類的應(yīng)用和實(shí)現(xiàn))根據(jù)編程練習(xí)10.8( P297)的描述,使用
15、 和實(shí)現(xiàn)Tax類,計(jì)算繳納的稅款額。第一步,畫出 Tax類的UM圖。第 二步,編寫一個(gè)測(cè)試程序,使用 Tax類,對(duì)所給4種納稅人打印2009 年的稅款表(2009稅率表參見(jiàn)表2),可征稅收入范圍在50,00060,000 美元之間,間隔為1000美元。第三步,實(shí)現(xiàn)Tax類。第四步,編譯、運(yùn)行該程序。【實(shí)驗(yàn)預(yù)習(xí)】1. 通過(guò)創(chuàng)建Tax類,輸出一個(gè)Tax的自身屬性2. 構(gòu)建一個(gè)Tax類,構(gòu)建特殊實(shí)例,通過(guò)調(diào)用其中的方法,計(jì)算稅款。3. 技術(shù)支持:構(gòu)建Tax類,使用了構(gòu)造方法、一般方法,訪問(wèn)器,修改器。使用了輸出語(yǔ)句等。4. 實(shí)驗(yàn)步驟:畫出uml圖,構(gòu)建Tax類,再寫出main方法?!綰M圖】Tax+
16、SINGUE_FILER: rt = 1+MARRIEDJOINTTLY; int = 2+MARRIED_SEPARATLr; int = 3+HEAD0F_H0U5EH0LD! int =斗-fiingStatuSn int = 1-bradets: objettO -rates: objecttaxa Wein come: int+TaxQ-FTaxtfiiingStatus: double, brackets: objectQjrates obj&ctQ) +setEradcet5(brackets: cjectCI ;: void+setRatESrates; atjject
17、Q): '.'okJ-letTax ablel ncome 0: double +5etraxblelncome(tdxablelncome: double): void -bgetFilrigStstusO1 int45etFilwigStatustfilingStatus: intj: void+findTaKL 0: double【附:程序代碼】public class taxProgram /主方法public static void main(String args) in t bracketsFor2009 = 6000,27950, 67700, 141250,
18、307050, / Single filer12000,46700, 112850, 171950, 307050, / marriedfili ng joi ntly6000,23350,56425, 85975,153525,/ marriedfili ng separately10000,37450, 96700, 156600, 307050 / head ofhouseholddouble ratesFor2009 = 0.1, 0.15, 0.27, 0.30, 0.35, 0.386;Tax taxFor2009 = new Tax(0, bracketsFor2009, rat
19、esFor2009, 50000);for (int taxableIncome = 50000; taxableIncome <= 60000; taxableIncome += 1000) taxFor2009.setTaxableIncome(taxableIncome); taxFor2009.setFilingStatus(0);int taxForStatus0 = (int)taxFor2009.findTax(); taxFor2009.setFilingStatus(1);int taxForStatus1 = (int)taxFor2009.findTax(); ta
20、xFor2009.setFilingStatus(2);int taxForStatus2 = (int)taxFor2009.findTax(); taxFor2009.setFilingStatus(3);int taxForStatus3 = (int)taxFor2009.findTax();"t"taxForStatus0 + "t" +taxForStatus1 + "t" + taxForStatus2 + "t" +taxForStatus3);/創(chuàng)建Tax類Public class Tax pub
21、lic final static int SINGLE_FILER = 1;public final static int MARRIED_JOINTLY = 2;public final static int MARRIED_SEPARATELY = 3;public final static int HEAD_OF_HOUSEHOLD = 4;private int filingStatus = SINGLE_FILER;private int brackets = 6000, 27950, 67700, 141250, 307050, / Single filer12000 , 4670
22、0, 112850, 171950, 307050, / married filing jointly6000,23350, 56425, 85975, 153525,/ marriedfiling separately10000,37450, 96700, 156600, 307050 / head ofhouseholdprivate double rates = 0.1, 0.15, 0.27, 0.30, 0.35,0.386;private double taxableIncome = 100000;/ 構(gòu)建一個(gè)默認(rèn)的稅款對(duì)象public Tax() / 構(gòu)建一個(gè)制定納稅人類型,收入
23、及稅率的稅款對(duì)象public Tax(int filingStatus, int brackets, double rates,double taxableIncome) this.filingStatus = filingStatus; this.brackets = brackets;this.rates = rates;this.taxableIncome = taxableIncome;/ 設(shè)置這個(gè)對(duì)象的收入范圍public void setBrackets(int brackets) this.brackets = brackets;/ 設(shè)置稅率public void setRate
24、s(double rates) this.rates = rates;/ 返回稅款對(duì)象的收入public double getTaxableIncome() return taxableIncome;設(shè)置稅款對(duì)象的收入public void setTaxableIncome(double taxableIncome) this.taxableIncome = taxableIncome;/ 返回納稅人所屬類型public int getFilingStatus() return filingStatus;/ 設(shè)置納稅人所屬類型public void setFilingStatus(int filingStatus) this.filingStatus = filingStatus;/ 計(jì)算稅款,并返回稅款值public double findTax() double tax = 0;if (taxableIncome <= bracketsfilingStatus0)return tax = taxableIncome * rates
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 重要CPSM備考資料試題及答案
- 2024年度黑龍江省高校教師資格證之高等教育法規(guī)模擬考試試卷A卷含答案
- 注冊(cè)會(huì)計(jì)師經(jīng)濟(jì)法知識(shí)點(diǎn)合同成立的時(shí)間
- 【道法】做自強(qiáng)不息的中國(guó)人課件-2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)下
- 高職單招職業(yè)適應(yīng)性測(cè)試知識(shí)點(diǎn)(鐵路行業(yè)篇)
- 2024年圖書管理員考試大綱解讀與試題答案
- 詩(shī)意文化與寫作技巧試題及答案
- (高清版)DB12∕T 656-2016 洗染行業(yè)開(kāi)業(yè)標(biāo)準(zhǔn)
- 講座課件定做文案范文
- 如何高效準(zhǔn)備消防設(shè)施考試試題及答案
- 自縊的護(hù)理查房
- 安全生產(chǎn)費(fèi)用使用臺(tái)賬
- 新外研版高一英語(yǔ)必修二unit6課文
- 精神障礙社區(qū)康復(fù)服務(wù)投標(biāo)方案
- 冰箱溫度監(jiān)測(cè)登記表
- 《利用導(dǎo)數(shù)研究函數(shù)的零點(diǎn)問(wèn)題》教學(xué)設(shè)計(jì)
- 唯識(shí)二十論述記講記(完整版)-智敏上師
- 建設(shè)單位甲方對(duì)監(jiān)理單位考核管理辦法
- 摩登情書原著全文在線【3篇】
- 統(tǒng)一戰(zhàn)線理論與政策(講課稿)
- 表貼式永磁同步電動(dòng)機(jī)永磁體氣隙磁場(chǎng)解析計(jì)算
評(píng)論
0/150
提交評(píng)論