南雪北海% 2022-06-15 18:59 采纳率: 50%
浏览 181
已结题

用java编写程序。

                用Java语言编写

1.编写一个课程类Course
(1)课程类的属性有:课程名称,课程课时,课程类型(基础课、专业基础课、专业课、选修课)、课程内容(以数组体现);(2)课程类的方法有:课程学习(抽象方法),显示课程内容,各属性的get和set方法;(3)完成课程类的构造方法
2.编写一个java课程类JavaCourse继承Course类
(1)完成构造方法编写(2)重写课程学习函数:在该函数中可以根据输入的数字选择学习的内容,(学习内容有:1.冒泡排序法,2.剪刀石头布,3.抽取幸运观众),3个学习内容编写3个对应的方法,完成相应的功能。(3个功能都要实现)

  • 写回答

1条回答 默认 最新

  • 陈脩 2022-06-15 20:21
    关注
    public abstract class Course {
        /**
         * 课程名称
         */
        private String name;
        /**
         * 课时
         */
        private int count;
    
        /**
         * 课程类型
         */
        private String type;
    
        /**
         * 课程内容
         */
        private CourseContent[] content;
    
        public Course() {
        }
    
        public Course(String name, int count, String type, CourseContent[] content) {
            this.name = name;
            this.count = count;
            this.type = type;
            this.content = content;
        }
    
        public abstract void study();
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public int getCount() {
            return count;
        }
    
        public void setCount(int count) {
            this.count = count;
        }
    
        public String getType() {
            return type;
        }
    
        public void setType(String type) {
            this.type = type;
        }
    
        public CourseContent[] getContent() {
            return content;
        }
    
        public void setContent(CourseContent[] content) {
            this.content = content;
        }
    
        public interface CourseContent {
    
            void doStudy();
        }
    
        public static class JavaCourse extends Course {
    
            public JavaCourse() {
            }
    
            public JavaCourse(String name, int count, String type, CourseContent[] content) {
                super(name, count, type, content);
            }
    
            @Override
            public void study() {
                Scanner scanner = new Scanner(System.in);
                System.out.println("请输入需要学习的内容:");
                int i = scanner.nextInt();
                if (i < 0 || i >= getContent().length) {
                    System.out.println("暂时没有该学习内容!");
                    return;
                }
                getContent()[i].doStudy();
    
            }
        }
    
        public static void main(String[] args) {
            JavaCourse javaCourse = new JavaCourse("Java", 20, "专业基础", new CourseContent[]{new CourseContent() {
                @Override
                public void doStudy() {
                    System.out.println("冒泡排序");
                }
            }, new CourseContent() {
                @Override
                public void doStudy() {
                    System.out.println("剪刀石头布");
                }
            }, new CourseContent() {
                @Override
                public void doStudy() {
                    System.out.println("抽取幸运观众");
                }
            }});
            javaCourse.study();
    
        }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月15日
  • 已采纳回答 6月15日
  • 创建了问题 6月15日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵