版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、java程序設(shè)計基于JDK6和NetBeans實現(xiàn)課后答案第一章課后作業(yè)答案 1. 試說明Java Application與Java Applet的不同之處。答案:Java的用戶程序分為兩類:Java Application和Java Applet,這兩類程序在組成結(jié)構(gòu)和執(zhí)行機(jī)制上都有一定的差異,主要體現(xiàn)在以下幾方面:(1)運(yùn)行方式不同。Java Application是完整的程序,可以獨(dú)立運(yùn)行;Java Applet程序不能單獨(dú)運(yùn)行,它必須嵌入到用HTML語言編寫的Web頁面中,通過與Java兼容的瀏覽器來控制執(zhí)行。(2)運(yùn)行工具不同。Java Application程序被編譯以后,用普通的
2、Java解釋器就可以使其邊解釋邊執(zhí)行;而Java Applet必須通過網(wǎng)絡(luò)瀏覽器或者Applet觀察器才能執(zhí)行。(3)程序結(jié)構(gòu)不同。每個Java Application程序必定含有一個并且只有一個main()方法,程序執(zhí)行時,首先尋找main()方法,并以此為入口點開始運(yùn)行;而Applet程序則沒有含main()方法的主類,這也正是Applet程序不能獨(dú)立運(yùn)行的原因。盡管Applet沒有含有main()方法的主類,但Applet一定有一個從java.applet.Applet派生的類,它是由Java系統(tǒng)提供的。(4)受到的限制不同。Java Application程序可以設(shè)計成能進(jìn)行各種操作的
3、程序,包括讀/寫文件的操作,但是Java Applet對站點的磁盤文件既不能進(jìn)行讀操作,也不能進(jìn)行寫操作。然后,由于Applet的引入,使Web頁面具有動態(tài)多媒體效果和可互交性能,這使由名為超文本、實為純文本的HTML語言編寫成的Web頁面真正具有了超文本功能,不但可以顯示文本信息,而且還可以有各種圖片效果和動態(tài)圖形效果,從而使頁面顯得生動美麗;另外,Applet使Web頁面增加了按鈕等功能,從而增加了交互性。2. Java程序的最小程序單位是什么?答案:Java語言以類作為程序的基本單位。3. 下載并安裝JDK 1.6以及Java API文檔,編譯并運(yùn)行例1-1。答案:實踐題。4. 編寫一個
4、Java應(yīng)用程序,在屏幕上輸出“歡迎進(jìn)入Java奇妙世界!”的字符串。答案:public class HelloWorld public static void main(String args) System.out.println("歡迎進(jìn)入Java奇妙世界!"); 5. 下面程序的功能是:計算并打印輸出兩個整數(shù)a和b之間的最大值,請?zhí)羁铡?1 public class Max02 public static void main (String args ) 03 int max;04 int a=3;05 int b=5;06 if(a>b)07 max=a ;
5、08 09 else10 max=b ;11 12 System.out.println(max);13 14 【運(yùn)行結(jié)果】 5第2章 Java語言基礎(chǔ)1請完成下面程序,使得程序的輸出結(jié)果如右圖所示。* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *01. public class LoopControl 02. public static void main(String args) 03. outer: for (int i
6、 = 0; i < 10; i+) 04. for (int j = 0; j < 10; j+) 05. if (j > i) 06. System.out.println() ;07. continue outer ;08. 09. System.out.print(" * ");10. 11. 12. 13. 2編寫程序,輸出英文字母AZ及其對應(yīng)的Unicode編碼值。01. public class CharUnicodeTest 02. public static void main(String args) 03. for(char c=
7、9;A'c<='Z'c+)04. System.out.print("Character: "+c);05. System.out.println("t"+"Unicode: "+(int)c);06. 07. 08. 3編寫程序,計算1!+2!+3!+20!的和。01. public class NestedLoopTest 02. public static void main(String args) 03. long sum=0;04. long fac;05. for(int i=1;i<
8、21;i+)06. fac=1;07. for(int j=1;j<=i;j+)08. fac=fac*j;09. 10. sum=sum+fac;11. 12. System.out.println("1!+2!+.+20!="+sum);13. 14. 4編寫程序,隨機(jī)產(chǎn)生一個(50,100)之間的整數(shù)并判斷其是否為素數(shù)。01. public class RandomPrimeTest 02. public static void main(String args) 03. int i=(int)(Math.random()*49+51);04. System.o
9、ut.println("The random number is : "+i);05. int j;06. for(j=2;j<i;j+)07. if(i%j=0) break;08. 09. if(j=i)10. System.out.println(i+" is a prime number");11. else12. System.out.println(i+" is not a prime number");13. 14. 5編寫程序,輸出從1到9的乘法口訣表。01. public class MultiTableTes
10、t 02. public static void main(String args) 03. for(int i=1;i<=9;i+)04. for(int j=1;j<=i;j+)05. System.out.print(i+"*"+j+"="+i*j+"t");06. 07. System.out.println();08. 09. 10. 第4章 Java面向?qū)ο蟾呒壧匦?. 指出下面程序中出現(xiàn)編譯錯誤的行數(shù)及其原因。01. public class Outer 02. private class Inner 03.
11、 static String name=new String("Inner");04. public void method()05. System.out.println(name);06. 07. 08. public static void main(String args) 09. Inner a=new Outer().new Inner();10. a.method();11. 12. 上述代碼中第3行會出現(xiàn)編譯錯誤,內(nèi)部類Inner中的成員變量不能定義為static。2. 請完成下面程序,使得程序可以輸出枚舉常量值:RED、GREEN和BLUE。01. pub
12、lic class Ball 02. public enum T 03. RED, GREEN, BLUE 04. 05. public static void main(String args) 06. Ball.T t=Ball.T.values();07. for(int i=0;i<t.length;i+) 08. System.out.println(ti);09. 10. 11. 3. 請完成下面程序,使得程序可以輸出"hi"。01. public class Car 02. private class Engine 03. Engine() 04. dr
13、ive(); 05. 06. 07. public static void main(String args) 08. new Car().go();09. 10. void go() 11. new Engine();12. 13. void drive() 14. System.out.println("hi");15. 16. 4. 應(yīng)用抽象類及繼承編寫程序,輸出本科生及研究生的成績等級。要求:首先設(shè)計抽象類Student,它包含學(xué)生的一些基本信息:姓名、學(xué)生類型、三門課程的成績和成績等級等。其次設(shè)計Student類的兩個子類:本科生類Undergraduate和研究
14、生類Postgraduate,二者在計算成績等級時有所區(qū)別,具體計算標(biāo)準(zhǔn)如表所示。最后創(chuàng)建測試類進(jìn)行測試。學(xué)生成績等級本科生標(biāo)準(zhǔn)研究生標(biāo)準(zhǔn)平均分85-100:優(yōu)秀平均分90-100:優(yōu)秀平均分75-85: 良好平均分80-90: 良好平均分65-75: 中等平均分70-80: 中等平均分60-65: 及格平均分60-70: 及格平均分60以下:不及格平均分60以下:不及格/抽象類Student01. abstract class Student 02. final static int COURSE_COUNT=3;03. private String name;04. private Str
15、ing type;05. private int scores;06. private String grade;07. public Student(String name)08. =name;09. 10. public void setName(String name)11. =name;12. 13. public String getName()14. return name;15. 16. public void setType(String type)17. this.type=type;18. 19. public String getTyp
16、e()20. return type;21. 22. public void setScores(int scores)23. this.scores=scores;24. 25. public int getScores()26. return scores;27. 28. public void setGrade(String grade)29. this.grade=grade;30. 31. public String getGrade()32. return grade;33. 34. public abstract String calculateGrade();35. /本科生類
17、01. public class Undergraduate extends Student02. public Undergraduate(String name,int scores)03. super(name);04. this.setType("本科生");05. this.setScores(scores);06. 07. public String calculateGrade()08. int average;09. int sum=0;10. int scores;11. scores=this.getScores();12. for(int i=0;i&
18、lt;Student.COURSE_COUNT;i+)13. sum+=scoresi;14. 15. average=sum/Student.COURSE_COUNT;16. if(average>=85)17. return "優(yōu)秀"18. else if(average>=75)19. return "良好"20. else if(average>=65)21. return "中等"22. else if(average>=60)23. return "及格"24. else25.
19、return "不及格"26. 27. /研究生類01. public class Postgraduate extends Student02. public Postgraduate(String name,int scores)03. super(name);04. this.setType("研究生");05. this.setScores(scores);06. 07. public String calculateGrade()08. int average;09. int sum=0;10. int scores;11. scores=th
20、is.getScores();12. for(int i=0;i<Student.COURSE_COUNT;i+)13. sum+=scoresi;14. 15. average=sum/Student.COURSE_COUNT;16. if(average>=90)17. return "優(yōu)秀"18. else if(average>=80)19. return "良好"20. else if(average>=70)21. return "中等"22. else if(average>=60)23.
21、return "及格"24. else25. return "不及格"26. 27. /測試類01. public class StudentTest 02. public static void main(String args)03. Student s=new Student10;04. int scores=new int10Student.COURSE_COUNT;05. for(int i=0;i<5;i+)06. for(int j=0;j<Student.COURSE_COUNT;j+)07. scoresij=(int)(M
22、ath.random()*61+40);08. 09. si=new Undergraduate("本科生"+(i+1),scoresi);10. si.setGrade(si.calculateGrade();11. 12. for(int i=5;i<10;i+)13. for(int j=0;j<Student.COURSE_COUNT;j+)14. scoresij=(int)(Math.random()*61+40);15. 16. si=new Postgraduate("研究生"+(i-4),scoresi);17. si.se
23、tGrade(si.calculateGrade();18. 19. int c;20. for(int i=0;i<10;i+)21. System.out.print(si.getName()+"t");22. System.out.print(si.getType()+"t");23. c=si.getScores();24. for(int j=0;j<Student.COURSE_COUNT;j+)25. System.out.print(cj+"t");26. 27. System.out.println(si
24、.getGrade();28. 29. 30. 運(yùn)行結(jié)果:本科生1本科生939068良好本科生2本科生768958中等本科生3本科生796690良好本科生4本科生958598優(yōu)秀本科生5本科生547853及格研究生1研究生836186中等研究生2研究生915785中等研究生3研究生709655中等研究生4研究生437562及格研究生5研究生438061及格5. 應(yīng)用枚舉類編寫程序,根據(jù)第4題的要求輸出本科生及研究生的成績等級。要求:將學(xué)生成績等級定義成枚舉類,其它功能不變,完成類的定義并進(jìn)行測試。/抽象類01. abstract class Student 02. /枚舉類定義03. stat
25、ic enum Grade 04. DISTINCTION("優(yōu)秀"), 05. MERIT("良好"), 06. AVERAGE("中等"), 07. PASS("及格"), 08. FAIL("不及格");09. private String scoreGrade;10. Grade(String scoreGrade) 11. this.scoreGrade = scoreGrade;12. 13. public String getScoreGrade() 14. return scor
26、eGrade;15. 16. 17. final static int COURSE_COUNT = 3;18. private String name;19. private String type;20. private int scores;21. private Grade sgrade;22. public Student(String name) 23. = name;24. 25. public void setName(String name) 26. = name;27. 28. public String getName() 29.
27、return name;30. 31. public void setType(String type) 32. this.type = type;33. 34. public String getType() 35. return type;36. 37. public void setScores(int scores) 38. this.scores = scores;39. 40. public int getScores() 41. return scores;42. 43. public void setGrade(Grade sgrade) 44. this.sgrade = s
28、grade;45. 46. public Grade getGrade() 47. return sgrade;48. 49. public abstract Grade calculateGrade();50. /本科生類01. public class Undergraduate extends Student02. public Undergraduate(String name,int scores)03. super(name);04. this.setType("本科生");05. this.setScores(scores);06. 07. public Gr
29、ade calculateGrade()08. int average;09. int sum=0;10. int scores;11. scores=this.getScores();12. for(int i=0;i<Student.COURSE_COUNT;i+)13. sum+=scoresi;14. 15. average=sum/Student.COURSE_COUNT;16. if(average>=85)17. return Grade.DISTINCTION;18. else if(average>=75)19. return Grade.MERIT;20.
30、 else if(average>=65)21. return Grade.AVERAGE;22. else if(average>=60)23. return Grade.PASS;24. else25. return Grade.FAIL;26. 27. /研究生類01. public class Postgraduate extends Student02. public Postgraduate(String name,int scores)03. super(name);04. this.setType("研究生");05. this.setScore
31、s(scores);06. 07. public Grade calculateGrade()08. int average;09. int sum=0;10. int scores;11. scores=this.getScores();12. for(int i=0;i<Student.COURSE_COUNT;i+)13. sum+=scoresi;14. 15. average=sum/Student.COURSE_COUNT;16. if(average>=90)17. return Grade.DISTINCTION;18. else if(average>=80
32、)19. return Grade.MERIT;20. else if(average>=70)21. return Grade.AVERAGE;22. else if(average>=60)23. return Grade.PASS;24. else25. return Grade.FAIL;26. 27. /測試類01. public class StudentTest 02. public static void main(String args)03. Student s=new Student10;04. int scores=new int10Student.COUR
33、SE_COUNT;05. for(int i=0;i<5;i+)06. for(int j=0;j<Student.COURSE_COUNT;j+)07. scoresij=(int)(Math.random()*61+40);08. 09. si=new Undergraduate("本科生"+(i+1),scoresi);10. si.setGrade(si.calculateGrade();11. 12. for(int i=5;i<10;i+)13. for(int j=0;j<Student.COURSE_COUNT;j+)14. scor
34、esij=(int)(Math.random()*61+40);15. 16. si=new Postgraduate("研究生"+(i-4),scoresi);17. si.setGrade(si.calculateGrade();18. 19. int c;20. for(int i=0;i<10;i+)21. System.out.print(si.getName()+"t");22. System.out.print(si.getType()+"t");23. c=si.getScores();24. for(int j
35、=0;j<Student.COURSE_COUNT;j+)25. System.out.print(cj+"t");26. 27. System.out.println(si.getGrade().getScoreGrade();28. 29. 30. 6. 應(yīng)用抽象類和接口編寫程序,根據(jù)第4題的要求輸出本科生及研究生的成績等級。要求:首先設(shè)計一個接口,接口中包含用于計算學(xué)生成績等級的抽象方法,設(shè)計兩個類分別實現(xiàn)上述接口,這兩個類分別表示本科生及研究生的成績等級標(biāo)準(zhǔn)。其次設(shè)計抽象類Student及其兩個子類本科生類Undergraduate和研究生類Postgradu
36、ate,兩個子類分別設(shè)置各自的成績等級計算標(biāo)準(zhǔn)。最后創(chuàng)建測試類進(jìn)行測試。/定義接口01. public interface GradeCalculate 02. public String getGrade(int scores);03. /本科生成績等級計算標(biāo)準(zhǔn)01. public class UnderGradeCalculate implements GradeCalculate 02. public String getGrade(int scores)03. int average;04. int sum=0;05. for(int i=0;i<Student.COURSE_C
37、OUNT;i+)06. sum+=scoresi;07. 08. average=sum/Student.COURSE_COUNT;09. if(average>=85)10. return "優(yōu)秀"11. else if(average>=75)12. return "良好"13. else if(average>=65)14. return "中等"15. else if(average>=60)16. return "及格"17. else18. return "不及格&qu
38、ot;19. 20. /研究生成績等級計算標(biāo)準(zhǔn)01. public class PostGradeCalculate implements GradeCalculate 02. public String getGrade(int scores)03. int average;04. int sum=0;05. for(int i=0;i<Student.COURSE_COUNT;i+)06. sum+=scoresi;07. 08. average=sum/Student.COURSE_COUNT;09. if(average>=90)10. return "優(yōu)秀&qu
39、ot;11. else if(average>=80)12. return "良好"13. else if(average>=70)14. return "中等"15. else if(average>=60)16. return "及格"17. else18. return "不及格"19. 20. /抽象類01. abstract class Student 02. final static int COURSE_COUNT=3;03. private String name;04. priv
40、ate String type;05. private int scores;06. private String grade;07. private GradeCalculate criterion;08. public Student(String name)09. =name;10. 11. public void setName(String name)12. =name;13. 14. public String getName()15. return name;16. 17. public void setType(String type)18.
41、 this.type=type;19. 20. public String getType()21. return type;22. 23. public void setScores(int scores)24. this.scores=scores;25. 26. public int getScores()27. return scores;28. 29. public void setGrade(String grade)30. this.grade=grade;31. 32. public String getGrade()33. return grade;34. 35. publi
42、c void setCriterion(GradeCalculate criterion)36. this.criterion=criterion;37. 38. public GradeCalculate getCriterion()39. return criterion;40. 41. /本科生類01. public class Undergraduate extends Student02. public Undergraduate(String name,int scores)03. super(name);04. this.setType("本科生");05.
43、this.setScores(scores);06. this.setCriterion(new UnderGradeCalculate();07. this.setGrade(this.getCriterion().getGrade(scores);08. 09. /研究生類01. public class Postgraduate extends Student02. public Postgraduate(String name,int scores)03. super(name);04. this.setType("研究生");05. this.setScores(
44、scores);06. this.setCriterion(new PostGradeCalculate();07. this.setGrade(this.getCriterion().getGrade(scores);08. 09. /測試類01. public class StudentTest 02. public static void main(String args)03. Student s=new Student10;04. int scores=new int10Student.COURSE_COUNT;05. for(int i=0;i<5;i+)06. for(in
45、t j=0;j<Student.COURSE_COUNT;j+)07. scoresij=(int)(Math.random()*61+40);08. 09. si=new Undergraduate("本科生"+(i+1),scoresi);10. 11. for(int i=5;i<10;i+)12. for(int j=0;j<Student.COURSE_COUNT;j+)13. scoresij=(int)(Math.random()*61+40);14. 15. si=new Postgraduate("研究生"+(i-4)
46、,scoresi);16. 17. int c;18. for(int i=0;i<10;i+)19. System.out.print(si.getName()+"t");20. System.out.print(si.getType()+"t");21. c=si.getScores();22. for(int j=0;j<Student.COURSE_COUNT;j+)23. System.out.print(cj+"t");24. 25. System.out.println(si.getGrade();26. 2
47、7. 28. 1. 請在下面程序的劃線處填上適當(dāng)?shù)恼Z句,使程序能夠正常運(yùn)行。public class MyClass public static void main(String args ) trymyMethod( ); catch(MyException e) System.out.println(e); public static void myMethod( ) throws Exception /方法中聲明拋出異常 throw ( new MyException() ); class MyException extends Exception /用戶自定義異常類 public St
48、ring toString( ) return("用戶自定義的異常"); 2. 編寫程序,要求程序功能:首先輸出“這是一個異常處理的例子”,然后在你程序中主動地產(chǎn)生一個 ArithmeticException 類型被0 除而產(chǎn)生的異常,并用catch 語句捕獲這個異常。最后通過ArithmeticException類的對象e的方法getMessage() 給出異常的具體類型并顯示出來。 public class ExceptionExam public static void main(String args) int a=10,b=0;double c=0.0;try c
49、=a/b; System.out.println(a+"/"+b+"="+c);catch(ArithmeticException e)System.out.println(e.getMessage(); 3. 編寫從鍵盤讀入10個字符放入一個字符數(shù)組,并在屏幕上顯示該數(shù)組的程序,要求處理數(shù)組越界異常(ArrayIndexOutOfBoundsException)與輸入/輸出異常(IOException)。 import java.io.*;public class ReadChars public static void main(String arg
50、s)BufferedReader buf=null;System.out.println("請輸入十個字符:");char c=new char10;trybuf=new BufferedReader(new InputStreamReader(System.in);String text=buf.readLine();for(int i=0;i<text.length();i+)ci=text.charAt(i);System.out.print(ci+" ");catch(ArrayIndexOutOfBoundsException e1)Sy
51、stem.out.println("n輸入字符超出要求,只顯示前十個字符!");catch(IOException e2)e2.getMessage(); 4. 根據(jù)書中5.3小節(jié)所給的創(chuàng)建自定義異常類的使用格式,編寫一個自定義異常的小程序。注意:實踐題,答案不唯一。class MyException extends Exceptionprivate int idnumber;public MyException(String message,int id)super(message);this.idnumber=id;public int getID()return idnumber;public class ExceptionDemopublic void regist(int num) th
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版農(nóng)貿(mào)場品牌形象設(shè)計合同4篇
- 2025年滬教版九年級歷史下冊月考試卷
- 2025年浙教版選擇性必修2生物下冊階段測試試卷
- 二零二五年度綠色農(nóng)業(yè)合作社股權(quán)投資合同4篇
- 二零二五年度木材產(chǎn)品出口退稅代理服務(wù)合同3篇
- 2025年度智能家居門系統(tǒng)安裝及售后服務(wù)合同范本4篇
- 二零二五年度鄉(xiāng)村旅游資源承包經(jīng)營合同4篇
- 2025年度密封膠產(chǎn)品回收與循環(huán)利用合同2篇
- 2025年度門頭房屋租賃合同附帶商業(yè)活動策劃執(zhí)行4篇
- 2025版智能鎖與木門集成系統(tǒng)銷售合同范本4篇
- 提高靜脈留置使用率品管圈課件
- GB/T 10739-2023紙、紙板和紙漿試樣處理和試驗的標(biāo)準(zhǔn)大氣條件
- 《心態(tài)與思維模式》課件
- 物流服務(wù)項目的投標(biāo)書
- C語言程序設(shè)計(慕課版 第2版)PPT完整全套教學(xué)課件
- 行業(yè)會計比較(第三版)PPT完整全套教學(xué)課件
- 值機(jī)業(yè)務(wù)與行李運(yùn)輸實務(wù)(第3版)高職PPT完整全套教學(xué)課件
- 高考英語語法填空專項訓(xùn)練(含解析)
- 危險化學(xué)品企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化課件
- 《美的歷程》導(dǎo)讀課件
- 心電圖 (史上最完美)課件
評論
0/150
提交評論