第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. }
上述代码中第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;i
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
抽象类Student,它包含学生的一些基本信息:姓名、学生类型、三门课程的成绩和成绩等级等。其次设计Student类的两个子类:本科生类Undergraduate和研究生类Postgraduate,二者在计算成绩等级时有所区别,具体计算
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
如表所示。最后创建测试类进行测试。
学生成绩等级
本科生标准
研究生标准
平均分85-100:优秀
平均分90-100:优秀
平均分75-85: 良好
平均分80-90: 良好
平均分65-75: 中等
平均分70-80: 中等
平均分60-65: 及格
平均分60-70: 及格
平均分60以下:不及格
平均分60以下:不及格
//抽象类Student
01. abstract class Student {
02. final static 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 setType(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 grade;
33. }
34. public abstract String calculateGrade();
35. }
//本科生类
01. public class Undergraduate extends Student{
02. 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=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. else
25. return "不及格";
26. }
27. }
//研究生类
01. public class Postgraduate extends Student{
02. 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=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 if(average>=60)
23. return "及格";
24. else
25. return "不及格";
26. }
27. }
//测试类
01. public class StudentTest {
02. public static void main(String[] args){
03. Student[] s=new Student[10];
04. int[][] scores=new int[10][Student.COURSE_COUNT];
05. for(int i=0;i<5;i++){
06. for(int j=0;j=85)
17. return Grade.DISTINCTION;
18. else if(average>=75)
19. return Grade.MERIT;
20. else if(average>=65)
21. return Grade.AVERAGE;
22. else if(average>=60)
23. return Grade.PASS;
24. else
25. return Grade.FAIL;
26. }
27. }
//研究生类
01. public class Postgraduate extends Student{
02. public Postgraduate(String name,int[] scores){
03. super(name);
04. this.setType("研究生");
05. this.setScores(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=90)
17. return Grade.DISTINCTION;
18. else if(average>=80)
19. return Grade.MERIT;
20. else if(average>=70)
21. return Grade.AVERAGE;
22. else if(average>=60)
23. return Grade.PASS;
24. else
25. return Grade.FAIL;
26. }
27. }
//测试类
01. public class StudentTest {
02. public static void main(String[] args){
03. Student[] s=new Student[10];
04. int[][] scores=new int[10][Student.COURSE_COUNT];
05. for(int i=0;i<5;i++){
06. for(int j=0;j=85)
10. return "优秀";
11. else if(average>=75)
12. return "良好";
13. else if(average>=65)
14. return "中等";
15. else if(average>=60)
16. return "及格";
17. else
18. return "不及格";
19. }
20. }
//研究生成绩等级计算标准
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=90)
10. return "优秀";
11. else if(average>=80)
12. return "良好";
13. else if(average>=70)
14. return "中等";
15. else if(average>=60)
16. return "及格";
17. else
18. return "不及格";
19. }
20. }
//抽象类
01. abstract class Student {
02. final static int COURSE_COUNT=3;
03. private String name;
04. private String type;
05. private int[] scores;
06. private String grade;
07. private GradeCalculate criterion;
08. public Student(String name){
09. this.name=name;
10. }
11. public void setName(String name){
12. this.name=name;
13. }
14. public String getName(){
15. return name;
16. }
17. public void setType(String type){
18. 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. public void setCriterion(GradeCalculate criterion){
36. this.criterion=criterion;
37. }
38. public GradeCalculate getCriterion(){
39. return criterion;
40. }
41. }
//本科生类
01. public class Undergraduate extends Student{
02. public Undergraduate(String name,int[] scores){
03. super(name);
04. this.setType("本科生");
05. this.setScores(scores);
06. this.setCriterion(new UnderGradeCalculate());
07. this.setGrade(this.getCriterion().getGrade(scores));
08. }
09. }
//研究生类
01. public class Postgraduate extends Student{
02. public Postgraduate(String name,int[] scores){
03. super(name);
04. this.setType("研究生");
05. this.setScores(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 Student[10];
04. int[][] scores=new int[10][Student.COURSE_COUNT];
05. for(int i=0;i<5;i++){
06. for(int j=0;j
本文档为【java程序设计——基于JDK6和NetBeans实现第4章课后作业答案】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。