JAVA實(shí)驗(yàn)報(bào)告分解_第1頁
JAVA實(shí)驗(yàn)報(bào)告分解_第2頁
JAVA實(shí)驗(yàn)報(bào)告分解_第3頁
JAVA實(shí)驗(yàn)報(bào)告分解_第4頁
JAVA實(shí)驗(yàn)報(bào)告分解_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、學(xué)生實(shí)驗(yàn)報(bào)告(理工類)課程名稱: JAVA程序設(shè)計(jì) 專業(yè)班級(jí): xxxxxxxxxxxxxxxxxxxxxxx學(xué)生學(xué)號(hào): XXXXXXXXX學(xué)生姓名:XXXXXX所屬院部: XXXXXXXXXXX指導(dǎo)教師:XXXXXXXX20 14 20 15學(xué)年第/ 學(xué)期實(shí)驗(yàn)報(bào)告書寫要求實(shí)驗(yàn)報(bào)告原則上要求學(xué)生手寫, 要求書寫工整。 若因課程特點(diǎn)需 打印的,要遵照以下字體、字號(hào)、間距等的具體要求。紙張一律采用 A4的紙張。實(shí)驗(yàn)報(bào)告書寫說明 實(shí)驗(yàn)報(bào)告中一至四項(xiàng)內(nèi)容為必填項(xiàng), 包括實(shí)驗(yàn)?zāi)康暮鸵螅?實(shí)驗(yàn) 儀器和設(shè)備;實(shí)驗(yàn)內(nèi)容與過程;實(shí)驗(yàn)結(jié)果與分析。各院部可根據(jù)學(xué)科 特點(diǎn)和實(shí)驗(yàn)具體要求增加項(xiàng)目。填寫注意事項(xiàng)(1)細(xì)

2、致觀察,及時(shí)、準(zhǔn)確、如實(shí)記錄。(2)準(zhǔn)確說明,層次清晰。(3)盡量采用專用術(shù)語來說明事物。(4)外文、符號(hào)、公式要準(zhǔn)確,應(yīng)使用統(tǒng)一規(guī)定的名詞和符號(hào)。(5)應(yīng)獨(dú)立完成實(shí)驗(yàn)報(bào)告的書寫,嚴(yán)禁抄襲、復(fù)印,一經(jīng)發(fā)現(xiàn), 以零分論處 。實(shí)驗(yàn)報(bào)告批改說明 實(shí)驗(yàn)報(bào)告的批改要及時(shí)、認(rèn)真、仔細(xì),一律用紅色筆批改。實(shí)驗(yàn) 報(bào)告的批改成績采用百分制,具體評(píng)分標(biāo)準(zhǔn)由各院部自行制定。 實(shí)驗(yàn)報(bào)告裝訂要求實(shí)驗(yàn)批改完畢后, 任課老師將每門課程的每個(gè)實(shí)驗(yàn)項(xiàng)目的實(shí)驗(yàn)報(bào) 告以自然班為單位、按學(xué)號(hào)升序排列,裝訂成冊(cè),并附上一份該門課 程的實(shí)驗(yàn)大綱。1318實(shí)驗(yàn)項(xiàng)目名稱:JAVA編程基礎(chǔ) 實(shí)驗(yàn)學(xué)時(shí): 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn):實(shí)驗(yàn)日期:20

3、14.9.25實(shí)驗(yàn)成績:批改教師: xxxxx批改時(shí)間:一、實(shí)驗(yàn)?zāi)康暮鸵螅?1) 熟練掌握 JDK1.6 及 MyEclipse8.5 編寫調(diào)試 Java 應(yīng)用程序及 Java 小程序的方 法;( 2) 熟練掌握 Java 應(yīng)用程序的結(jié)構(gòu);( 3) 了解 Java 語言的特點(diǎn),基本語句、運(yùn)算符及表達(dá)式的使用方法;( 4) 熟練掌握常見數(shù)據(jù)類型的使用;( 5 ) 熟練掌握 if-else 、switch 、 while 、 do-while 、 for 、 continue 、 break 、 return 語句的使用方法;理解和掌握重載方法;( 6) 熟練掌握數(shù)組和字符串的使用;( 7) 調(diào)

4、試程序要記錄調(diào)試過程中出現(xiàn)的問題及解決辦法;( 8) 編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄,不斷積累編程及調(diào)試 經(jīng)驗(yàn);( 9) 做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī), Windows 操作系統(tǒng),裝有 JDK1.6 和 MyEclipse8.5 軟件。三、實(shí)驗(yàn)過程(1)分別使用JDK命令行和MyEclipse編譯運(yùn)行Java應(yīng)用程序;適當(dāng)添加注釋信息, 通過 javadoc 生成注釋文檔;為主方法傳遞參數(shù)“ Hello !”字符串,并輸出,記錄操 作過程。public class Hellopublic static void main(String ar

5、gs) System.out.println(Hello!);(2)教材 P11 頁程序調(diào)試,改寫程序;(3)編寫一個(gè)重載方法的程序,調(diào)試通過。要求:( 1 ) 編譯調(diào)試程序之前應(yīng)配置好環(huán)境變量;(2) 要分別掌握用JDK命令行和MyEclipse集成開發(fā)環(huán)境調(diào)試 Java程序;( 3)注意 Java 重載程序:構(gòu)造方法和成員方法的區(qū)別。程序清單:建議程序中適當(dāng)添加注釋信息, 增強(qiáng)可讀性; 較長程序分欄書寫, 保證報(bào)告排版整潔美觀。 )(實(shí)驗(yàn)一程序清單續(xù) 1)(2) 教材 P11 頁程序調(diào)試,改寫程序;package pack;import mypackage.Point;public cla

6、ss Line public static Point start;public static Point end;public Line(Point start,Point end)this.start=start; this.end=end;public String toString()returnthis.getClass().getName()+(+this.start.toString()+,+this.end.toString()+)Jpublic double length()int a=start.x-end.x,b=start.y-end.y;return Math.sqr

7、t(a*a+b*b);public static void main(String args) Line l=new Line(start, end);Point start=new Point(100,100);Point end=new Point(100,200);System.out.println(new Line(start,end).toString(); System.out.println(l.length();(實(shí)驗(yàn)一程序清單續(xù) 2)(3) 編寫一個(gè)重載方法的程序,調(diào)試通過。 public class dcc public void der()System.out.prin

8、tln(z);public int der(int c)return c;public String der(int i,char c)return c + = + i;public static void main(String args)dcc y = new dcc();y.der();System.out.println(y.der(4,z); System.out.println(y.der(20);四、實(shí)驗(yàn)結(jié)果與分析分別使用JDK命令行和MyEclipse編譯運(yùn)行Java應(yīng)用程序;適當(dāng)添加注釋信 息,通過 javadoc 生成注釋文檔; 為主方法傳遞參數(shù) “Hello !”字符串,

9、并輸出, 記錄操作過程。運(yùn)行結(jié)果: Hello !(2) 教材 P11 頁程序調(diào)試,改寫程序;調(diào)試結(jié)果: pack.Line(Point(100,100),Point(100,200)程序改寫后的調(diào)試結(jié)果: pack.Line(Point(100,100),Point(100,200)100.0(3) 編寫一個(gè)重載方法的程序,調(diào)試通過。運(yùn)行結(jié)果: zz=420實(shí)驗(yàn)項(xiàng)目名稱: 面向?qū)ο缶幊?實(shí)驗(yàn)學(xué)時(shí): 8 同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期:2014-10-23實(shí)驗(yàn)成績:批改教師:XXXX批改時(shí)間:一、實(shí)驗(yàn)?zāi)康暮鸵螅?1)熟練掌握 Java 語言類定義的基本語法;( 2)熟練掌握類成員的訪問

10、控制,對(duì)象建立的方法;( 3)熟練掌握類構(gòu)造方法、成員方法的定義和重載;( 4)熟練掌握類繼承、多態(tài)和抽象性;(5)熟練掌握接口的定義和實(shí)現(xiàn)方法;(6)掌握基本的異常處理方法;(7)調(diào)試程序要記錄調(diào)試過程中出現(xiàn)的問題及解決辦法;(8)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄,不斷積累編程及調(diào)試經(jīng) 驗(yàn);( 9) 做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。二、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī), Windows 操作系統(tǒng),裝有 JDK1.6 和 MyEclipse8.5 軟件。三、實(shí)驗(yàn)過程( 1)設(shè)計(jì)復(fù)數(shù)類,成員變量包括實(shí)部和虛部,成員方法包括實(shí)現(xiàn)復(fù)數(shù)加法、減法、比較、字符串描述、比較是否相等等操作。(2

11、)設(shè)計(jì)圓柱體類和圓椎體類, 繼承圓類 Circle 并實(shí)現(xiàn) Volume 接口,計(jì)算表面積和體積。( 3)設(shè)計(jì)三角形類,繼承圖形抽象類,計(jì)算三角形面積和周長。( 4)包的建立與使用:設(shè)計(jì)計(jì)算器類 Calculator ,計(jì)算加、減、乘、除和立方體體積,并且打包為 mypackage。觀察源文件目錄下是否生成了mypackage文件夾,在該文件夾中是否有 Calculate.class 文件。 編輯 PackageDemo.java , 保存在 Calculator.java 同一目錄下,引用計(jì)算器類的各方法顯示計(jì)算結(jié)果。( 5)試編碼實(shí)現(xiàn)多態(tài)在工資系統(tǒng)中的應(yīng)用:給出一個(gè)根據(jù)雇員類型利用 abs

12、tract 方法和多態(tài)性完成工資單計(jì)算的程序。Employee是抽象類,Employee的子類有Boss(每星期發(fā)給他固定工資,而不計(jì)工作時(shí)間)、CommissionWorker (除基本工資外還根據(jù)銷售額發(fā)放浮動(dòng)工資) 、PieceWorker (按其生產(chǎn)的產(chǎn)品數(shù)發(fā)放工資) 、HourlyWorker (根據(jù) 工作時(shí)間長短發(fā)放工資) 。該例的 Employee 的每個(gè)子類都聲明為 final ,因?yàn)椴恍枰?繼承它們生成子類。在主測(cè)試類 Test 中測(cè)試各類雇員工資計(jì)算結(jié)果。提示: 對(duì)所有雇員類型都使用 earnings() 方法,但每個(gè)人掙的工資按他所屬的雇員 類計(jì)算,所有雇員類都是從超類

13、 Employee 派出生的。在超類中聲明 earnings() 為抽象 方法,并且對(duì)于每個(gè)子類都提供恰當(dāng)?shù)?earnings() 的實(shí)現(xiàn)方法。為了計(jì)算雇員的工資, 程序僅僅使用雇員對(duì)象的一個(gè)超類引用并調(diào)用 earnings() 方法。在一個(gè)實(shí)際的工資系 統(tǒng)中, 各種 Employee 對(duì)象的引用可以通過一個(gè) Employee 引用數(shù)組來實(shí)現(xiàn)。 程序依次使 用數(shù)組的每個(gè)元素( Employee 引用)調(diào)用每個(gè)對(duì)象的 earnings() 方法。Employee 類定義如下:abstract class Employeeprivate String firstName;private Strin

14、g lastName;public Employee(String first,String last)firstName=first;lastName=last;public String getEmployeeName()return firstName;public String getLastName()return lastName;public String toString()return firstName+lastName;public abstract String earnings();( 6)異常的捕獲:計(jì)算兩數(shù)相除并輸出結(jié)果。使用三個(gè)catch 子句,分別捕捉輸入輸出

15、異常、除數(shù)為 0 的異常和參數(shù)輸入有誤異常。import java.io.*;class Ex1public static void main(String args )tryBufferedReader strin=new BufferedReader(new InputStreamReader(System.in);/ 建立輸入流緩沖區(qū)System.out.print( 請(qǐng)輸入除數(shù): );String cl=strin.readLine();/ 鍵盤輸入int a=Integer .parseInt(cl);System .out .print( 請(qǐng)輸入被除數(shù): );cl=strin .r

16、eadLine();int b=Integer .parseInt(cl);int c=b/a;/ 捕獲與 I/O 有關(guān)的異常(空白處補(bǔ)全捕獲語句)/ 捕獲數(shù)值轉(zhuǎn)化時(shí)的異常,如不能將字符轉(zhuǎn)化成數(shù)值/ 捕獲除數(shù)為 0 的異常編譯并運(yùn)行,當(dāng)產(chǎn)生輸入輸出異常時(shí)顯示異常信息;當(dāng)輸入除數(shù)為 0 時(shí),出現(xiàn)算術(shù)異常,提 示除數(shù)為 0,并要求重新輸入;當(dāng)輸入的不是整數(shù)時(shí),如將30 輸成了 3o ,出現(xiàn)數(shù)值格式異常,提示輸入整數(shù)。(8)編寫程序包含自定義異常 MyException ,當(dāng) 100被 13和 4除時(shí)拋出該異常,其余除數(shù) 顯示商值。要求:(1)注意選用適當(dāng)?shù)念惓蓡T修飾符( private 、 pro

17、tected 、 public 用情況;等),比較它們的使(2)養(yǎng)成良好的編程習(xí)慣, 嚴(yán)格按照命名規(guī)則為包、 類及類成員命名, 包的命名方式如 two.num1 表示實(shí)驗(yàn)二的第一題;將每個(gè)程序打包,(3)學(xué)會(huì)使用 MyEclipse 的各種調(diào)試方法;(4)學(xué)會(huì)查閱 Java API 文檔,如查找異常類的使用方法。程序清單:(建議程序中適當(dāng)添加注釋信息, 增強(qiáng)可讀性; 較長程序可分欄書寫, 保證報(bào)告排版整潔美 觀。)(1)設(shè)計(jì)復(fù)數(shù)類,成員變量包括實(shí)部和虛部,成員方法包括實(shí)現(xiàn)復(fù)數(shù)加法、減法、比較、 字符串描述、比較是否相等等操作。public class Complex private doubl

18、e real,imag;public Complex(double real,double imag) this.real=real; this.imag=imag;public Complex()this(0.0,0.0);public Complex(Complex c)this.real=c.real;this.imag=c.imag;void set(double r,double i) real=r;imag=i;void set(Complex d) set(d.real,d.imag);public void add(Complex c)this.real += c.real;t

19、his.imag += c.imag;public void minus(Complex c)this.real -= c.real;this.imag -= c.imag;public static Complex add(Complex c1, Complex c2)return new Complex(c1.real+c2.real, c1.imag+c2.imag);public static Complex minus(Complex c1, Complex c2)return new Complex(c1.real-c2.real, c1.imag-c2.imag);public

20、boolean equals(Object obj)if (this=obj) return true;if (obj instanceof Complex)Complex c=(Complex)obj;return this.real=c.real & this.imag=c.imag;return false;public String toString()return (+this.real+this.imag+i);public static void main(String args)Complex a=new Complex(2.0,3.5);Complex b=new Compl

21、ex(9.0,1.7);Complex c=b;System.out.println(a+b+=+Complex.add(a,b);System.out.println(a+-+b+=+Complex.minus(a,b);System.out.println(b:+b+,c:+c+,b=c?+(b=c)+,b.equals(c)?+(b.equals (c);c=new Complex();c.set(b);System.out.println(b:+b+,c:+c+,b=c?+(b=c)+,b.equals(c)?+(b.equals(c);(2) 設(shè)計(jì)圓柱體類和圓椎體類, 繼承圓類 Ci

22、rcle 并實(shí)現(xiàn) Volume 接口,計(jì)算表面積和體積。 class Circlestatic double PI=3.14159;double r;public Circle(double r)this.r=r;double area()return PI*r*r;class Sphere extends Circlepublic Sphere(double r)super(r);public double area()return 4*PI*r*r;public double volume()return 3*PI*Math.pow(r,3)/4;class Column extends

23、Circleprivate double h;public Column(double r,double h)super(r);this.h=h;public double area()return 2*PI*r*h+2*PI*r*r;public double volume()return PI*r*r*h;class Taper extends Circleprivate double h;public Taper(double r,double h)super(r);this.h=h;public double area()return PI*r*Math.sqrt(h*h+r*r)+P

24、I*r*r;public double volume()return PI*r*r*h/3;public class test public static void main(String args)Circle cir=new Circle(3.0);System.out.println(Area of circle=+cir.area();Sphere sph=new Sphere(6.0);System.out.println(Area of shere=+sph.area()+n+volume ofsphere=+sph.volume();Column col=new Column(3

25、.0,5.0);System.out.println(Area of Column=+col.area()+n+volume of column=+col.volume();Taper tap=new Taper(2.0,4.0);System.out.println(Area of taper=+tap.area()+n+volumn of taper=+tap.volume();(3) 設(shè)計(jì)三角形類,繼承圖形抽象類,計(jì)算三角形面積和周長。 public abstract class ClosedFigureprotected String shape;protected ClosedFig

26、ure(String shape)this.shape = shape;protected ClosedFigure()this(未知);public abstract double area();public abstract double perimeter();public void print()System.out.println(一個(gè)+this.shape+this.toString()+,周長為+this.perimeter()+,面積為+this.area();public class Triangle extends ClosedFigure protected double

27、 a,b,c;public Triangle(double a,double b,double c) super(三角形);this.a=a;this.b=b;this.c=c;public Triangle() this(0,0,0);public String toString()return a邊長度 +this.a+,b邊長度 +this.b+,c邊長度 +this.c;public double area()double d=(a+b+c)/2.0;return Math.sqrt(d*(d-a)*(d-b)*(d-c);public double perimeter()return

28、 a+b+c;public static void main(String args)Triangle tri=new Triangle(5,9,11); tri.print();( 4)包的建立與使用import java.util.Scannerpublic class Calculator public static void main(String args) System.out.println( 根據(jù)提示輸入指令 !); while(true)System.out.println( 是否繼續(xù) Y/N?);Scanner sc=new Scanner(System.in);Strin

29、g isC=sc.nextLine().trim(); if(y.equals(isC) | Y.equals(isC)System.out.println( 輸入第一個(gè)數(shù) :);int a=sc.nextInt();System.out.println( 輸入計(jì)算符號(hào) :+ - * /);String var=sc.next().trim();System.out.println( 輸入第二個(gè)數(shù) :);int b=sc.nextInt(); if(+.equals(var)System.out.println(a+b+=+(a+b);else if(-.equals(var) System.

30、out.println(a+-+b+=+(a-b); else if(*.equals(var) System.out.println(a+*+b+=+(a*b); else if(/.equals(var)System.out.println(a+/+b+=+(a/(double)b);elseSystem.out.println( 計(jì)算符號(hào)有誤 , 程序退出 );break; elseSystem.out.println( 程序退出 ); break; ( 5)試編碼實(shí)現(xiàn)多態(tài)在工資系統(tǒng)中的應(yīng)用: 給出一個(gè)根據(jù)雇員類型利用 abstract 方法和多 態(tài)性完成工資單計(jì)算的程序。Boss 類p

31、ackage ss1;/ 每星期發(fā)給他固定工資,而不計(jì)工作時(shí)間final class Boss extends Employeeprivate double weeklySalary;public Boss(String first,String last,double s)super(first,last); setWeeklySalary(s);public void setWeeklySalary(double s) weeklySalary=(s0?s:0);public String earnings()String weeklySalary1 = String.valueOf(we

32、eklySalary);return weeklySalary1;public String toString()return Boss+ +super.toString();CommissionWorker 類package ss1; / 除基本工資外還根據(jù)銷售額發(fā)放浮動(dòng)工資 final class CommissionWorker extends Employeeprivate double salary; private double fsalary;public CommissionWorker(String first,String last,double s,double f) s

33、uper(first,last);setSalary(s); setFsalary(f);public void setFsalary(double f)fsalary=(f0?f:0); public void setSalary(double s)salary=s; public String earnings()String salary1 = String.valueOf(salary+fsalary); return salary1;public String toString()return CommissionWorker+super.toString(); HourlyWork

34、er 類package ss1;/ 根據(jù)工作時(shí)間長短發(fā)放工資 final class HourlyWorker extends Employeeprivate double wage;private double hours;public HourlyWorker(String first,String last,double w,double h) super(first,last);setWage(w);setHours(h);public void setWage(double w) wage=(w0?w:0);public void setHours(double h) hours=(

35、h=0&h0?w:0);public void setQuantity(int q)quantity=q;public String earnings() String salary1 = String.valueOf(quantity*wagePiece); return salary1;public String toString() return pieceWoeker+ +super.toString();Test 類package ss1;class Testpublic static void main(String args ) / 使用超類聲明 refEmployee ref;

36、String out=;/ 分別定義各子類Boss b=new Boss(Hohn,Smith,800.00);CommissionWorker c=new CommissionWorker(Sue,Hones,400.00,3.0);PieceWorker p=new PieceWorker(Bob,Leis,2.5,200);HourlyWorker h=new HourlyWorker(Karen,price,13.75,40);/ 使用子類分別實(shí)例化ref=b;out+=ref.toString()+:+n+父類調(diào) 用 earnings方法得+ref.earnings()+n+ 子類調(diào)

37、用 earnings方法得:+b.earnings()+n;ref=c;out+=ref.toString()+:+n+父類調(diào) 用 earnings方法得+ref.earnings()+n+ 子類調(diào)用 earnings方法得:+c.earnings()+n;ref=p;out+=ref.toString()+:+n+父類調(diào) 用 earnings方法得+ref.earnings()+n+ 子類調(diào)用 earnings方法得:+p.earnings()+n;ref=h;out+=ref.toString()+:+n+父類調(diào) 用 earnings方法得+ref.earnings()+n+ 子類調(diào)用 e

38、arnings方法得:+h.earnings()+n;System.out.print(out);6)異常的捕獲package ss; import java.io.*; class Ex1public static void main(String args )tryBufferedReader strin=new BufferedReader(new InputStreamReader(System.in);/ 建立輸入流緩沖區(qū) System.out.print( 請(qǐng)輸入除數(shù): );String cl=strin.readLine();/ 鍵盤輸入int a=Integer .parseI

39、nt(cl);System .out .print(請(qǐng)輸入被除數(shù): );cl=strin .readLine();int b=Integer .parseInt(cl);int c=b/a;System .out .println(商為: +c);/ 捕獲異常catch(IOException e)/ 捕獲 I/O 異常System.out.println(I/O 有關(guān)的異常 );/ 捕獲數(shù)值轉(zhuǎn)化時(shí)的異常,如不能將字符轉(zhuǎn)化成數(shù)值catch(NumberFormatException e)System.out.println( 數(shù)值轉(zhuǎn)化有關(guān)的異常 ); / 捕獲除數(shù)為 0 的異常catch(Ex

40、ception e)除數(shù)為 0 的異常 );MyException ,當(dāng) 100 被 13 和 4 除時(shí)拋出該異常,其余除數(shù)System.out.println(8)編寫程序包含自定義異常 顯示商值。import java.io.*;class MyException extends Exception MyException(String msg) super(msg);public class DoubleDivideA public static void main(String args) throws MyException try BufferedReader in = new B

41、ufferedReader(new InputStreamReader(System.in); System.out.print( 請(qǐng)輸入實(shí)數(shù)除法運(yùn)算的被除數(shù): );String str = in.readLine();double a = Double.parseDouble(str); System.out.print( 請(qǐng)輸入除數(shù): );str = in.readLine();double b = Double.parseDouble(str);System.out.println(商結(jié)果: +division(a, b);catch (ArithmeticException e1) S

42、ystem.out.println( 商結(jié)果: Infinity + e1);System.out.println( 商結(jié)果: NaN + e1);catch (NumberFormatException e2) System.out.println( 異常:字符串不能轉(zhuǎn)換成整數(shù)! + e2);catch (IOException e3) System.out.println( 異常: IO 異常 + e3);finally System.out.println( 程序結(jié)束。 );static double division(double a, double b) throws MyExcep

43、tion if (a=100&(b=4|b=13)throw new MyException ( 不符規(guī)范 );elsereturn (a/b);四、實(shí)驗(yàn)結(jié)果與分析(1)調(diào)試結(jié)果 調(diào)試結(jié)果: (2.0+3.5i)+(9.0+1.7i)=(11.0+5.2i)(2.0+3.5i)-(9.0+1.7i)=(-7.0+1.8i)b:(9.0+1.7i),c:(9.0+1.7i),b=c?true,b.equals(c)?true b:(9.0+1.7i),c:(9.0+1.7i),b=c?false,b.equals(c)?true ( 3) 設(shè)計(jì)三角形類,繼承圖形抽象類,計(jì)算三角形面積和周長。 調(diào)

44、試結(jié)果:面積是 100.0周長是 48.0 高 10.0 底 20.0( 4) 包的建立與使用:設(shè)計(jì)計(jì)算器類 Calculator ,計(jì)算加、減、乘、除和立 方體體積,并且打包為 mypackaga觀察源文件目錄下是否生成了 mypackage文 件夾,在該文件夾中是否有 Calculate.class 文件。編輯 PackageDemo.java, 保存在 Calculator.java 同一目錄下,引用計(jì)算器類的各方法顯示計(jì)算結(jié)果。 調(diào)試結(jié)果:根據(jù)提示輸入指令 !是否繼續(xù) Y/N?y輸入第一個(gè)數(shù) :23 輸入計(jì)算符號(hào) :+ - * / + 輸入第二個(gè)數(shù) :23 23+23=46 是否繼續(xù)

45、Y/N?n 程序退出(5)結(jié)果:Boss HohnSmith: 父類調(diào)用 earnings 方法得: 800.0 子類調(diào)用 earnings 方法得: 800.0 CommissionWorkerSueHones: 父類調(diào)用 earnings 方法得: 403.0 子類調(diào)用 earnings 方法得: 403.0 pieceWoeker BobLeis: 父類調(diào)用 earnings 方法得: 500.0 子類調(diào)用 earnings 方法得: 500.0 hourlyWorker Karenprice: 父類調(diào)用 earnings 方法得: 550.0 子類調(diào)用 earnings 方法得: 55

46、0.0 分析:Employee的每個(gè)子類都聲明為fin al ,因?yàn)椴恍枰倮^承它們生成子類。 在主測(cè)試類 Test 中測(cè)試各類雇員工資計(jì)算結(jié)果。( 6)結(jié)果:1. 正常值結(jié)果: 請(qǐng)輸入除數(shù): 1 請(qǐng)輸入被除數(shù): 2 商為: 22. 除數(shù)為 0的結(jié)果:請(qǐng)輸入除數(shù):0請(qǐng)輸入被除數(shù):1除數(shù)為0的異常3. 數(shù)值異常的結(jié)果:請(qǐng)輸入除數(shù):2.1數(shù)值轉(zhuǎn)化有關(guān)的異常分析:用三個(gè)catch語句,分別捕獲三種異常情況IOException e 定義10的異常NumberFormatException e定義數(shù)值轉(zhuǎn)化有關(guān)的異常Exception e 定義除數(shù)為0的異常(8)編寫程序包含自定義異常 MyExcept

47、ion,當(dāng)100被13和4除時(shí)拋出該異常, 其余除數(shù)顯示商值。調(diào)試結(jié)果:請(qǐng)輸入實(shí)數(shù)除法運(yùn)算的被除數(shù):請(qǐng)輸入除數(shù):4 程序結(jié)束。Excepti on in thread mai nat cc.DoubleDivideA.divisi on( at cc.DoubleDivideA.ma in(100IIcc.MyException_:不符規(guī)范DoubleDivideA.java:45_)DoubleDivideA.java:24_)請(qǐng)輸入實(shí)數(shù)除法運(yùn)算的被除數(shù): 請(qǐng)輸入除數(shù):13 程序結(jié)束。Excepti on in thread mai nat cc.DoubleDivideA.divisi o

48、n(at cc.DoubleDivideA.ma in(100cc.MyException_:不符規(guī)范 DoubleDivideA.java:45) DoubleDivideA.java:24_)II請(qǐng)輸入實(shí)數(shù)除法運(yùn)算的被除數(shù):100請(qǐng)輸入除數(shù):2商結(jié)果:50.0程序結(jié)束。分析: 在實(shí)驗(yàn)中用三個(gè)catch語句,分別捕獲三種異常情況IOException e定義IO的 異常NumberFormatException e 定義數(shù)值轉(zhuǎn)化有關(guān)的異常 Exception e 定義除 數(shù)為0的異常實(shí)驗(yàn)項(xiàng)目名稱: 圖形用戶界面 實(shí)驗(yàn)學(xué)時(shí): 7同組學(xué)生姓名: 實(shí)驗(yàn)地點(diǎn): 實(shí)驗(yàn)日期: 實(shí)驗(yàn)成績: 批改教師: X

49、XXXX批改時(shí)間: 、實(shí)驗(yàn)?zāi)康暮鸵螅?)掌握Swing組件的使用方法;(2)熟練掌握Swing中常用布局管理器的使用方法;(3)掌握用戶界面動(dòng)作與事件的處理程序的編寫方法;(4)熟練掌握構(gòu)造用戶界面的方法和常見界面元素的使用;(5)熟練掌握J(rèn)ava繪圖的主要方法。(6)了解線程的基本概念和多線程程序設(shè)計(jì)的基本方法;(7)調(diào)試程序要記錄調(diào)試過程中出現(xiàn)的問題及解決辦法;(8)編寫程序要規(guī)范、正確,上機(jī)調(diào)試過程和結(jié)果要有記錄,不斷積累編程及調(diào)試 經(jīng)驗(yàn);(9)做完實(shí)驗(yàn)后給出本實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告。、實(shí)驗(yàn)儀器和設(shè)備奔騰以上計(jì)算機(jī),Windows操作系統(tǒng),裝有 JDK1.6和MyEclipse8.5 軟件。三

50、、實(shí)驗(yàn)過程1. 計(jì)算器設(shè)計(jì)2.整數(shù)進(jìn)制轉(zhuǎn)換將一個(gè)十進(jìn)制整數(shù)分別轉(zhuǎn)換成二進(jìn)制、八進(jìn)制和十六進(jìn)制整數(shù)。3. 模擬裁判評(píng)分。設(shè)計(jì)如圖所示圖形界面,顯示 n個(gè)裁判的評(píng)分,根據(jù)制定規(guī)則計(jì)算出最后得分。要求:圖形 界面采用表格顯示裁判評(píng)分,隨裁判人數(shù)變化而變化; 指定分?jǐn)?shù)范圍,若超出,則異常處理;得分規(guī)則有指定接口約定,由多個(gè)接口對(duì)象給出多種得分規(guī)則,如求平均數(shù)值,或去掉一個(gè)最高分和一個(gè)最低分后,再求平均值。您模擬裁判評(píng)分-n xw4. 編譯運(yùn)行下例,然后修改程序,當(dāng)使用鼠標(biāo)單擊后在另一位置重新繪制月亮?!纠?在Applet中畫月亮。import java.awt.*;import java.applet.Applet;public class Moon Applet exte nds Appletpublic void paint(Graphics g)/在 Applet 上繪圖g.setColor(Col

溫馨提示

  • 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)論