java程序设计——基于JDK6和NetBeans实现第4章课后作业答案(共12页).doc
《java程序设计——基于JDK6和NetBeans实现第4章课后作业答案(共12页).doc》由会员分享,可在线阅读,更多相关《java程序设计——基于JDK6和NetBeans实现第4章课后作业答案(共12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第4章 Java面向对象高级特性1. 指出下面程序中出现编译错误的行数及其原因。01. public class Outer 02. private class Inner 03. 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
2、. 上述代码中第3行会出现编译错误,内部类Inner中的成员变量不能定义为static。2. 请完成下面程序,使得程序可以输出枚举常量值:RED、GREEN和BLUE。01. public 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;it.length;i+) 08. System.out.println(ti);09. 10. 11. 3. 请完成下面程序,使
3、得程序可以输出hi。01. public class Car 02. private class Engine 03. Engine() 04. drive(); 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. 应用抽象类及继承编写程序,输出本科生及研究生的成绩等级。要求:首先设计抽象类Student,它包含学生的一些基本
4、信息:姓名、学生类型、三门课程的成绩和成绩等级等。其次设计Student类的两个子类:本科生类Undergraduate和研究生类Postgraduate,二者在计算成绩等级时有所区别,具体计算标准如表所示。最后创建测试类进行测试。学生成绩等级本科生标准研究生标准平均分85-100:优秀平均分90-100:优秀平均分75-85: 良好平均分80-90: 良好平均分65-75: 中等平均分70-80: 中等平均分60-65: 及格平均分60-70: 及格平均分60以下:不及格平均分60以下:不及格/抽象类Student01. abstract class Student 02. final st
5、atic int COURSE_COUNT=3;03. private String name;04. private String type;05. private int scores;06. private String grade;07. public Student(String name)08. this.name=name;09. 10. public void setName(String name)11. this.name=name;12. 13. public String getName()14. return name;15. 16. public void setT
6、ype(String type)17. this.type=type;18. 19. public String getType()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
7、grade;33. 34. public abstract String calculateGrade();35. /本科生类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 sc
8、ores;11. scores=this.getScores();12. for(int i=0;i=85)17. return 优秀;18. else if(average=75)19. return 良好;20. else if(average=65)21. return 中等;22. else if(average=60)23. return 及格;24. else25. return 不及格;26. 27. /研究生类01. public class Postgraduate extends Student02. public Postgraduate(String name,int
9、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=90)17. return 优秀;18. else if(average=80)19. return 良好;20. else if(average=70)21. return 中等;22. else
10、 if(average=60)23. 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;i5;i+)06. for(int j=0;jStudent.COURSE_COUNT;j+)07. scoresij=(int)(Math.random(
11、)*61+40);08. 09. si=new Undergraduate(本科生+(i+1),scoresi);10. si.setGrade(si.calculateGrade();11. 12. for(int i=5;i10;i+)13. for(int j=0;jStudent.COURSE_COUNT;j+)14. scoresij=(int)(Math.random()*61+40);15. 16. si=new Postgraduate(研究生+(i-4),scoresi);17. si.setGrade(si.calculateGrade();18. 19. int c;20
12、. for(int i=0;i10;i+)21. System.out.print(si.getName()+t);22. System.out.print(si.getType()+t);23. c=si.getScores();24. for(int j=0;jStudent.COURSE_COUNT;j+)25. System.out.print(cj+t);26. 27. System.out.println(si.getGrade();28. 29. 30. 运行结果:本科生1本科生939068良好本科生2本科生768958中等本科生3本科生796690良好本科生4本科生958598
13、优秀本科生5本科生547853及格研究生1研究生836186中等研究生2研究生915785中等研究生3研究生709655中等研究生4研究生437562及格研究生5研究生438061及格5. 应用枚举类编写程序,根据第4题的要求输出本科生及研究生的成绩等级。要求:将学生成绩等级定义成枚举类,其它功能不变,完成类的定义并进行测试。/抽象类01. abstract class Student 02. /枚举类定义03. static enum Grade 04. DISTINCTION(优秀), 05. MERIT(良好), 06. AVERAGE(中等), 07. PASS(及格), 08. FA
14、IL(不及格);09. private String scoreGrade;10. Grade(String scoreGrade) 11. this.scoreGrade = scoreGrade;12. 13. public String getScoreGrade() 14. return scoreGrade;15. 16. 17. final static int COURSE_COUNT = 3;18. private String name;19. private String type;20. private int scores;21. private Grade sgrad
15、e;22. public Student(String name) 23. this.name = name;24. 25. public void setName(String name) 26. this.name = name;27. 28. public String getName() 29. 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 setSc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序设计 基于 JDK6 NetBeans 实现 课后 作业 答案 12
限制150内