java實驗----(南京信息工程大學期末試卷題庫)_第1頁
java實驗----(南京信息工程大學期末試卷題庫)_第2頁
java實驗----(南京信息工程大學期末試卷題庫)_第3頁
java實驗----(南京信息工程大學期末試卷題庫)_第4頁
java實驗----(南京信息工程大學期末試卷題庫)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗1:Java開發(fā)環(huán)境J2SE一、實驗目的(1)學習從網絡上下載并安裝J2SE開發(fā)工具。(2)學習編寫簡單的Java Application程序.(3)了解Java源代碼、字節(jié)碼文件,掌握Java程序的編輯、編譯和運行過程。二、實驗任務從網絡上下載或從CD-ROM直接安裝J2SE開發(fā)工具,編寫簡單的Java Application程序,編譯并運行這個程序。三、實驗內容1安裝J2SE開發(fā)工具Sun公司為所有的java程序員提供了一套免費的java開發(fā)和運行環(huán)境,取名為Java 2 SDK,可以從上進行下載。安裝的時候可以選擇安裝到任意的硬盤驅動器上。教師通過大屏幕演示J2SE的安裝過程,以及在

2、Windows7下環(huán)境變量的設置方法。2安裝J2SE源代碼編輯工具Notepad教師通過大屏幕演示Notepad的安裝過程,以及在Windows7操作系統(tǒng)環(huán)境下編輯Java原程序的常用命令的用法。3編寫并編譯、運行一個Java Application程序。創(chuàng)建一個名為HelloWorldApp的java Application程序,在屏幕上簡單的顯示一句話"老師,你好!"。public class HelloWorldApppublic static void main(String args)System.out.println("老師,你好!");4

3、編譯并運行下面的Java Application程序,寫出運行結果。1: public class MyClass 2: private int day;3: private int month;4: private int year;5: public MyClass() 6: day = 1;7: month = 1;8: year = 1900;9: 10: public MyClass(int d,int m,int y) 11: day = d;12: month = m;13: year = y;14: 15: public void display()16: System.out

4、.println(day + "-" + month + "-" + year);17: 18: public static void main(String args ) 19: MyClass m1 = new MyClass();20: MyClass m2 = new MyClass(25,12,2001);21: m1.display();22: m2.display();23: 24:運行結果: 1-1-1900 25-12-2001實驗2:Java基本數據類型一、實驗目的(1)掌握javadoc文檔化工具的使用方法。(2)掌握Java語言轉

5、義字符的功能。(3)理解“值傳遞”的過程。二、實驗任務(1)利用javadoc文檔化工具,將給定的Java Application源代碼自動生成一系列說明文檔。(2)輸入、運行給定的Java Application程序,寫出運行結果,以驗證Java語言轉義字符的功能。(3)按照要求編寫Java Application程序。三、實驗內容1Javadoc文檔化工具的使用Java 2 SDK中提供了一個文檔自動生成工具,可以簡化程序員編寫文檔的工作。可以使用javadoc.exe命令啟動Java文檔化工具,自動生成Java程序文檔。輸入下面給出的Java Application程序,利用javado

6、c命令生成該Java應用程序的文檔,并使用瀏覽器IE顯示生成的文檔頁面內容。1: /* Java編程技術chapter3,CommentTest.java2: 版權所有:Tom。3: 作者:$4: 日期:2013/07/015: */6: /*7: 這是一個Java語言入門程序,定義類CommentTest。其中含有main()方法,因此可以作為一8: 個應用程序單獨執(zhí)行。其功能是在默認的輸出設備上輸出字符串"Hi,你好!"。 9: */ 10: public class CommentTest 11: /主方法,作為Java應用程序的默認入口。12: public sta

7、tic void main(String args ) 13: System.out.println("Hi,你好!"); /輸出"Hi,你好!"14: 15: 執(zhí)行javadoc CommentTest.java指令,生成文件:CommentTest.html、package-frame.html、package-summary.html、package-tree.html、constant-values.html、overview-tree.html、index-all.html、deprecated-list.html、allclasses-fra

8、me.html、allclasses-noframe.html、index.html、help-doc.html。2輸入下面的Java Application程序,寫出運行結果。1: public class CharSample2: public static void main(String args ) 3: char ch1 = 'b'4: char ch2 = 't'5: char ch3 = 'n'6: char ch4 = 'r'7: char ch5 = '"'8: char ch6 =

9、'''9: char ch7 = ''10: System.out.println("南京"+ch1+"長江大橋");11: System.out.println("南京"+ch2+"長江大橋");12: System.out.println("南京"+ch3+"長江大橋");13: System.out.println("南京"+ch4+ch3+"長江大橋");14: System.out.pr

10、intln(ch5+"南京"+"長江大橋"+ch5);15: System.out.println(ch6+"南京"+"長江大橋"+ch6);16: System.out.println(ch7+"南京"+"長江大橋"+ch7);17: 18:運行結果: 南京長江大橋 南京 長江大橋南京長江大橋南京長江大橋“南京長江大橋”南京長江大橋南京長江大橋3按下面的要求完成Java Application程序,寫出程序的運行結果。(1)定義一個Java類Point,用來描述平面直角坐標

11、系中點的坐標,該類應該能描述點的橫、縱坐標信息及一些相關操作,包括獲取點的橫、縱坐標,修改點的坐標,顯示點的當前位置等。(2)定義一個測試類javaTest,創(chuàng)建Point類的對象并對其進行有關的操作。class Pointdouble x,y;public void setXY(double a,double b)x=a;y=b;public double getX()return x;public double getY()return y;public void disp()System.out.println("點的當前坐標為:("+x+", "

12、+y+")");public class javaTestpublic static void main(String args)Point p1=new Point();p1.disp();p1.setXY(3.2,5.6);p1.disp();運行結果: 點的當前坐標為:(0.0, 0.0) 點的當前坐標為:(3.2, 5.6)實驗3:Java流程控制一、實驗目的(1)掌握Java運算符的用法。(2)掌握表達式的使用和各種運算符的優(yōu)先級控制。(3)掌握結構化程序設計的基本結構。二、實驗任務(1)輸入根據給定的Java Application程序,寫出運行結果,并說明程序

13、所完成的功能。(2)按照要求編寫Java Application程序。三、實驗內容1輸入如下所示的Java Application程序,寫出運行結果,并說明程序的功能。1: import java.util.Scanner;2: public class findNum 3: public static void main(String args) 4: String s;5: double d;6: int i;7: boolean b = false;8: do 9: try 10: System.out.println("請輸入一個浮點數: ");11: Scanne

14、r sc = new Scanner (System.in);12: s = sc.nextLine(); / 以字符串方式讀入13: i = s.indexOf('.');/找到小數點的位置, int indexOf(int ch)它返回指定字符在此字符串中第一次出現處的索引14: d = Double.parseDouble(s); / 將字符串轉換成浮點數15: System.out.println(d + " 整數部分為:" + (long)d);16: if( i = -1 ) /若沒有小數點,則沒有小數部分17: System.out.print

15、ln(d + " 小數部分為:0.0");18: else / 若有小數點,則截取小數點后的字符串合成浮點數19: System.out.println(d + "小數部分為:" + Double.parseDouble(s.charAt(0)='-') ? "-" : "") + "0." + s.substring(i+1,s.length();20: b = false;21: 22: catch(NumberFormatException nfe) 23: System.

16、out.println("輸入浮點數格式有誤。n");24: b = true;25: 26: catch(Exception ioe) 27: b = false;28: 29: 30: while(b); /浮點格式錯誤時重新輸入31: / end of main32:/ end of clas運行結果: 請輸入一個浮點數:abc 輸入浮點數格式有誤 請輸入一個浮點數:3.14 3.14的整數部分為:3 3.14的小數部分為:0.14程序功能:通過IO類從命令行讀入一個字符串,如果輸入的字符串為非數字字符串,則提示異常,要求重新輸入。如果輸入的是一個沒有小數點的數字字符

17、串(即整數類型),則將其轉換為double型浮點數,最后完成將浮點數的小數位和整數位分別輸出。2素數就是不能再進行等分的整數。比如:7,11。而9不是素數,因為它可以平分為3等份。一般認為最小的素數是2,接著是3,5,. (1)編寫程序,輸出區(qū)間200,300上的所有素數。(2)請問,第100002(十萬零二)個素數是多少?請注意:2 是第一素數,3 是第二個素數,依此類推。(1)源程序public class Primepublic static void main(String args)int i,j;outer:for(i=200;i<=300;i+)for(j=2;j<i

18、-1;j+)if(i%j=0) continue outer;System.out.print(i+" ");運行結果:211 223 227 229 239 241 251 257 263 269 271 277 281 283 293(2)源程序/* 篩法 2 3 4 5 6 7 8 9 10 11 12 。 2 3 _ 5 _ 7 _ 9 _ 11 _ . 2 3 _ 5 _ 7 _ _ _ 11 _ . .*/public class SuShupublic static void main(String args)int N = 1000 * 1000 * 10;

19、int x = 100001;byte a = new byteN;for(int i=2; i<N/2; i+)if(ai=1) continue; / 和數沒有資格參加篩法for(int k=2; k<=N/i; k+)if(i*k<N) ai*k = 1;int m = 0;for(int i=2; i<N; i+)if(ai=0)m+;if(m=x) System.out.print(i + " "); System.out.println("m=" + m);3、用遞歸實現求Fibonacci數列的第10項。實驗4:Ja

20、va類與對象一、實驗目的(1)掌握Java類的定義和使用。(2)掌握方法的定義與使用。(3)掌握構造方法的定義和使用。二、實驗任務(1)按要求編寫一個Java程序。(2)按要求完善一個Java程序,編譯、運行這個程序,并寫出運行結果。三、實驗內容1編寫一個Java程序片斷,以定義一個表示學生的類Student。這個類的屬性有“學號”、“班號”、“姓名”、“性別”、“年齡”,方法有“獲得學號”、“獲得班號”、“獲得性別”、“獲得姓名”、“獲得年齡”、“獲得年齡”。2為類Student增加一個方法public String toString( ),該方法把Student類的對象的所有屬性信息組合成

21、一個字符串以便輸出顯示。編寫一個Java Application程序,創(chuàng)建Student類的對象,并驗證新增加的功能。class Studentprivate long studentID;private int classID;private String name;private String sex;private int age;public Student(long studentID,int classID,String name,String sex,int age)this.studentID=studentID;this.classID=classID;=n

22、ame;this.sex=sex;this.age=age;public long getStudentID()return studentID;public int getClassID()return classID;public String getName()return name;public String getSex()return sex;public int getAge()return age;public String toString()return "學號:"+getStudentID()+"n班號:"+getClassID()

23、+"n姓名:"+getName()+"n性別:"+getSex()+"n年齡:"+getAge();public class StudentDemopublic static void main(String args)Student s1=new Student(90221,2,"Tom","male",20);System.out.println(s1.toString();運行結果: 學號:90221 班號:2 姓名:Tom 性別:male 年齡:20實驗5:數組與字符串一、實驗目的(1)

24、掌握利用Math類實現基本數學運算的方法。(2)掌握數組與字符串概念與使用。二、實驗任務(1)輸入根據給定的Java Application程序,寫出運行結果。(2)按照要求編寫Java Application程序。三、實驗內容1輸入下面的Java Application程序,寫出運行結果,并說明程序的功能。1: public class testMath 2: public static void main(String args) 3: final int NUMBER = 100;4: int count = 10;5: int randomNum = 0;6: int probabil

25、ity = new int6; 7: for(int i=0; i<6; i+) 8: probabilityi = 0;9: 10: for(int i=0; i<NUMBER; i+) 11: randomNum = (int)(Math.random()*6) + 1;12: probabilityrandomNum-1+;13: System.out.print(randomNum + "t");14: if(i%count = 9)15: System.out.println();16: 17: for(int i=0; i<6; i+) 18:

26、 System.out.println("n"+(i+1)+":t"+probabilityi);19: 20: 21:2編寫一個Java Application程序,實現如下的設計目標:程序運行時自動產生1100的隨機數,接收用戶鍵盤輸入數據并給出提示信息,直至猜對。游戲者猜對后,顯示猜測次數,并提供“重新開始”和“退出”功能。實驗6:Java繼承與多態(tài)一、實驗目的(1)掌握Java類的繼承關系和派生方法。(2)理解多態(tài)的概念與使用。(3)掌握接口的定義和使用。二、實驗任務(1)輸入根據給定的Java Application程序,寫出運行結果。(2)按

27、照要求編寫Java Application程序。三、實驗內容1閱讀如下所示的3個Java類的定義,分析它們之間的關系,寫出運行結果。1: class SuperClass 2: int x;3: SuperClass() 4: x=3;5: System.out.println("in SuperClass : x=" +x);6: 7: void doSomething() 8: System.out.println("in SuperClass.doSomething()");9: 11:1: class SubClass extends Super

28、Class 2: int x;3: SubClass() 4: super();/調用父類的構造方法5: x=5;/super( ) 要放在方法中的第一句6: System.out.println("in SubClass :x="+x);7: 8: void doSomething( ) 9: super.doSomething( ); /調用父類的方法10: System.out.println("in SubClass.doSomething()");11: System.out.println("super.x="+super

29、.x+" sub.x="+x);12: 14:1: public class Inheritance 2: public static void main(String args) 3: SubClass subC=new SubClass();4: subC.doSomething();5: 6: 運行結果: in SuperClass: x=3 in SubClass: x=5 in SuperClass. doSomething() in SubClass. doSomething() super. x=3 sub. x=52假定根據學生的3門學位課程的分數決定其是否

30、可以拿到學位,對于本科生,如果3門課程的平均分數超過60分即表示通過,而對于研究生,則需要平均超過80分才能夠通過。根據上述要求,請完成以下Java類的設計:(1)設計一個基類Student描述學生的共同特征。(2)設計一個描述本科生的類Undergraduate,該類繼承并擴展Student類。(3)設計一個描述研究生的類Graduate,該類繼承并擴展Student類。(4)設計一個測試類StudentDemo,分別創(chuàng)建本科生和研究生這兩個類的對象,并輸出相關信息。class Studentprivate String name;private int classA,classB,clas

31、sC;public Student(String name,int classA,int classB,int classC)=name;this.classA=classA;this.classB=classB;this.classC=classC;public String getName()return name;public int getAverage()return (classA+classB+classC)/3;class UnderGraduate extends Studentpublic UnderGraduate(String name,int cla

32、ssA,int classB,int classC)super(name,classA,classB,classC);public void isPass()if(getAverage()>=60)System.out.println("本科生"+getName()+"的三科平均分為:"+getAverage()+",可以拿到學士學位。");elseSystem.out.println("本科生"+getName()+"的三科平均分為:"+getAverage()+",不能拿到學

33、士學位。");class Graduate extends Studentpublic Graduate(String name,int classA,int classB,int classC)super(name,classA,classB,classC);public void isPass()if(getAverage()>=80)System.out.println("研究生"+getName()+"的三科平均分為:"+getAverage()+",可以拿到碩士學位。");elseSystem.out.pri

34、ntln("研究生"+getName()+"的三科平均分為:"+getAverage()+",不能拿到碩士學位。");public class StudentDemopublic static void main(String args)UnderGraduate s1=new UnderGraduate("Tom",55,75,81);Graduate s2=new Graduate("Mary",72,81,68);s1.isPass();s2.isPass();運行結果: 本科生Tom的三

35、科平均分為:70,可以拿到學士學位。 研究生Mary的三科平均分為:73,不能拿到碩士學位。3、假定要為某個公司編寫雇員工資支付程序,這個公司有各種類型的雇員(Employee),不同類型的雇員按不同的方式支付工資:(1)經理(Manager)每月獲得一份固定的工資(2)銷售人員(Salesman)在基本工資的基礎上每月還有銷售提成。(3)一般工人(Worker)則按他每月工作的天數計算工資。根據上述要求試用類的繼承和相關機制描述這些功能,并編寫一個Java Application程序,演示這些類的用法。(提示:應設計一個雇員類(Employee)描述所有雇員的共同特性,這個類應該提供一個計算

36、工資的抽象方法ComputeSalary( ),使得可以通過這個類計算所有雇員的工資。經理、銷售人員和一般工人對應的類都應該繼承這個類,并重新定義計算工資的方法,進而給出它的具體實現。)abstract class Employeeprivate String name;public Employee(String name)=name;public String getName()return name;public abstract double computeSalary();class Manager extends Employeeprivate double mo

37、nthSalary;public Manager(String name,double monthSalary)super(name);this.monthSalary=monthSalary;public double computeSalary()return monthSalary;class Salesman extends Employeeprivate double baseSalary;private double commision;private int qualtities;public Salesman(String name,double baseSalary,doub

38、le commision,int qualtities)super(name);this.baseSalary=baseSalary;mision=commision;this.qualtities=qualtities;public double computeSalary()return baseSalary+commision*qualtities;class Worker extends Employeeprivate double dailySalary;private int days;public Worker(String name,double dailySalary,int

39、 days)super(name);this.dailySalary=dailySalary;this.days=days;public double computeSalary()return dailySalary*days;public class EmployeeDemopublic static void main(String args)Manager e1=new Manager("張三",10000);Salesman e2=new Salesman("李四",2000,50.4,63);Worker e3=new Worker(&quo

40、t;王五",79.5,28);System.out.println("經理"+e1.getName()+"的月工資為:"+puteSalary();System.out.println("銷售人員"+e2.getName()+"的月工資為:"+puteSalary();System.out.println("工人"+e3.getName()+"的月工資為:"+puteSalary();運行結果:經理張三的月工資為:10000.0銷售人員李四的月工資為:5175.2工

41、人王五的月工資為:2226.0實驗7  接口的實現一、實驗目的(1)    學習如何定義接口(2)    掌握接口的實現方式(3)    使用實現了接口的類(4)    理解接口與抽象類的區(qū)別(5)    學會使用接口回調來簡化程序二、實驗任務 按照要求編寫Java Application程序。三、實驗內容設計和實現一個Soundable接口,該接口具有發(fā)聲功能,同時還能調節(jié)聲音大小。oundable接口的這些功能將會由3種聲

42、音設備來實現,它們分別是:Radio、Walkman和Mobilephone。最后還需設計一個應用程序類來使用這些實現了Soundable接口的聲音設備。程序運行時,先詢問用戶想聽哪知設備,然后程序按照該設備的工作方式來輸出發(fā)音。 代碼如下import java.util.*;/Soundable接口的聲明interface Soundable    /使用抽象方法    public void playSound();    public void decreaseVolume(); 

43、;   public void stopSound();/設計新的類Radio,再用Radio來創(chuàng)建對象,進行接口的實現,使用implements關鍵字class Radio implements Soundable         public void playSound()/定義playSound()的處理方式       System.out.println("收音機播放廣播:中央人民廣播電臺"); 

44、;       public void decreaseVolume()       System.out.println("增大收音機音量");        public void stopSound()       System.out.println("關閉收音機");    /設計新的類W

45、alkmanclass Walkman implements Soundable    public void playSound()       System.out.println("隨身聽發(fā)出音樂:1234567");        public void decreaseVolume()       System.out.println("增大隨身聽

46、音量");        public void stopSound()       System.out.println("關閉隨身聽");    /設計新的類Mobilephoneclass Mobilephone implements Soundable    public void playSound()       S

47、ystem.out.println("手機發(fā)出來電鈴聲:叮當、叮當");        public void decreaseVolume()       System.out.println("增大手機音量");        public void stopSound()       System.out.pri

48、ntln("關閉手機");    class SampleDisplay       /定義接口類型參數Soundable sound;    /sound=new Radio();    /sound=new Walkman();    /sound=new Mobilephone();    public void display(Soundable sound)        /接口回調       sound.playSound()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論