上海网站建设排行WordPress换主题文件夹
2026/4/18 8:26:58 网站建设 项目流程
上海网站建设排行,WordPress换主题文件夹,网站群系统建设标准,新榜数据平台一.学生选课管理系统简介 首先定义了两个类#xff1a;Student和Course。Student类表示学生#xff0c;包含学生的姓名、学号和已选修的课程列表。Course类表示课程#xff0c;包含课程的编号、名称和选修该课程的学生列表。 在Student类中#xff0c;定义了构造方法用于…一.学生选课管理系统简介首先定义了两个类Student和Course。Student类表示学生包含学生的姓名、学号和已选修的课程列表。Course类表示课程包含课程的编号、名称和选修该课程的学生列表。在Student类中定义了构造方法用于初始化学生的姓名和学号并创建了一个空的课程列表。还定义了获取姓名、学号和课程列表的方法以及添加课程和显示选课结果的方法。其中添加课程方法会将课程添加到学生的课程列表中并调用课程的addStudent方法将学生添加到课程的学生列表中。在Course类中定义了构造方法用于初始化课程的编号和名称并创建了一个空的学生列表。还定义了获取编号、名称和学生列表的方法以及新增学生的方法。在新增学生的方法中会判断学生列表中是否已经包含该学生如果不包含则将学生添加到学生列表中并调用学生的enrollCourse方法将课程添加到学生的课程列表中。然后定义了一个ManagementSystem类用于驱动整个程序。在该类中首先创建了学生和课程的列表。然后通过一个循环不断询问用户选择的操作1.注册学生2.添加课程3.学生选课4.查看选课结果0.退出系统。根据用户的选择进行相应的操作包括注册学生、添加课程、学生选课、查看选课结果等。其中注册学生和添加课程会依次询问用户输入学生的学号、姓名或课程的编号、名称并进行相应的处理。而学生选课和查看选课结果会根据用户输入的学号或课程编号查找对应的学生或课程然后进行相应的操作。整个代码的思路是通过Student和Course两个类来表示学生和课程通过ManagementSystem类来驱动整个程序的运行并提供相应的操作方法。通过使用ArrayList和List来存储学生和课程对象实现了学生选课管理系统的基本功能。二.Student类第一部分代码解析下面这段代码使用了import语句用于导入java.util包下的ArrayList和List类同时定义Student的类。定义了一个私有的String型的实例变量name和私有的int型的实例变量id最后定义了一个名为courses的List实例变量用来存储Course对象。import java.util.ArrayList; import java.util.List; class Student { private String name;//学生名字 private int id;//学号 private ListCourse courses;//选修课程列表第二部分代码解析下面这段代码定义了一个带有两个参数name和id的构造函数Student。定义getName和getId、getCourses的方法的方法用来返回name和id、courses的值。public Student(String name, int id) { this.name name; this.id id; this.courses new ArrayList(); } public String getName() { return name; } public int getId() { return id; } public ListCourse getCourses() { return courses; }第三部分代码解析下面这段代码定义了一个名为addCourse的方法用来向courses中添加Course对象。定义了一个名为displayEnrollment的方法用来输出学生的姓名、学号和已选修的课程。并使用for-each循环遍历courses列表中的Course对象并输出每个课程的编号和名称。最后再定义了一个名为enrollCourse的方法用来向courses中添加Course对象并将学生添加到Course对象的学生列表中。public void addCourse(Course course) { courses.add(course); } public void displayEnrollment() { System.out.println(学生姓名 name 学号 id 已选修的课程); for (Course course : courses) { System.out.println(课程编号:course.getCode(),课程名称:course.getCourseName()); } } public void enrollCourse(Course course) { if (!courses.contains(course)) { courses.add(course); course.addStudent(this); } } }总结这段代码实现了一个学生选课系统可以创建学生对象添加课程到学生的课程列表中并展示学生的选课情况。三.Course类第一部分代码解析下面这段代码使用了import语句用于导入java.util包下的ArrayList和List类以便在代码中使用这些类。同时定义了Course类包含了codecoursename和students等私有属性。其中code和coursename用于存储课程的编号和名称students用于存储选修该课程的学生。import java.util.ArrayList; import java.util.List; class Course { private String code; private String coursename; private ListStudent students;第二部分代码解析下面这段代码定义了Course类的构造方法。构造方法接收两个参数分别是code和name用于初始化课程的编号和名称。在构造方法中将students初始化为一个空的ArrayList对象。分别定义了getCode()方法和getCourseName()方法、getStudents()方法用于获取课程的编号和课程的名称、参加该课程的学生列表。public Course(String code, String name) { this.code code; this.coursename name; this.students new ArrayList(); } public String getCode() { return code; } public String getCourseName() { return coursename; } public ListStudent getStudents() { return students; }第三部分代码解析下面这段代码定义了enrollStudent()方法用于将学生添加到选修该课程的学生列表中。还定义了addStudent()方法用于将一个学生添加到选修该课程的学生列表中并且在添加成功后还会调用该学生的enrollCourse()方法将该课程添加到学生的选课列表中。public void enrollStudent(Student student) { students.add(student); } public void addStudent(Student student) { if (!students.contains(student)) { students.add(student); student.enrollCourse(this); } } }总体来说这段代码定义了一个课程类Course可以用于创建课程对象并管理选修该课程的学生。四.ManagementSystem类第一部分代码解析导入需要使用的类包括ArrayList和Scanner。定义了一个名为ManagementSystem的类。创建了两个ArrayList对象和Scanner对象分别用来存储学生和课程、读取用户输入。并定义了一个名为main的方法并且将其设置为静态方法该方法是程序的入口点。同时创建了一个ManagementSystem对象调用run方法开始程序的执行run方法是程序的主要逻辑部分使用一个无限循环不断接受用户的操作。import java.util.ArrayList; import java.util.Scanner; class ManagementSystem { private static ArrayListStudent students new ArrayList(); private static ArrayListCourse courses new ArrayList(); Scanner scanner new Scanner(System.in); public static void main(String[] args) { ManagementSystem main new ManagementSystem(); main.run(); }第二部分代码解析在循环中打印菜单选项并根据用户的选择调用相应的方法。用户输入一个选项保存在choice变量中。调用nextInt方法读取用户输入的整数。调用nextLine方法读取用户输入的剩余部分包括换行符以防止nextInt方法读取到换行符造成错误。根据用户选择的选项使用switch语句调用相应的方法。public void run() { while (true) { System.out.println(请选择操作); System.out.println(1. 注册学生); System.out.println(2. 添加课程); System.out.println(3. 学生选课); System.out.println(4. 查看选课结果); System.out.println(0. 退出系统); System.out.print(请输入选项); int choice scanner.nextInt(); scanner.nextLine(); switch (choice) { case 1: registerStudent(); break; case 2: addCourse(); break; case 3: enrollCourse(); break; case 4: displayEnrollment(); break; case 0: System.out.println(谢谢使用再见); return; default: System.out.println(无效选项请重新选择。); } System.out.println(); } }第三部分代码解析定义了一个registerStudent方法用于注册学生提示用户输入学生学号和姓名并使用nextInt和next方法读取用户输入。并定义一个布尔变量isRegistered用于判断学号是否已经存在。如果学号不存在则创建一个Student对象并将其添加到学生列表中。否则提示学号已存在。遍历学生列表检查学号是否已存在。如果学号已存在则提示用户重新输入学号并将isRegistered设为true。最后registerStudent方法结束。private void registerStudent() { System.out.print(请输入学生学号); int id scanner.nextInt(); System.out.print(请输入学生姓名); String name scanner.next(); boolean isRegistered false; if (!isRegistered) { Student newStudent new Student(name, id); students.add(newStudent); System.out.println(学生注册成功姓名 name 学号 id); } else { System.out.println(学生注册失败学号已存在); } for (Student student : students) { if (student.getId()id) { System.out.println(学号已存在请重新输入); isRegistered true; break; } } }第四部分代码解析定义了一个addCourse方法用于添加课程。提示用户输入课程编号和名称并使用next方法读取用户输入。再定义一个布尔变量isAdded用于判断课程编号是否已经存在。遍历课程列表检查课程编号是否已存在。如果课程编号已存在则提示用户重新输入课程编号并将isAdded设为true。如果课程编号不存在则创建一个Course对象并将其添加到课程列表中。否则提示课程编号已存在。最后addCourse方法结束。private void addCourse() { System.out.print(请输入课程编号); String code scanner.next(); System.out.print(请输入课程名称); String name scanner.next(); boolean isAdded false; for (Course course : courses) { if (course.getCode().equals(code)) { System.out.println(课程已存在请重新输入); isAdded true; break; } } if (!isAdded) { Course newCourse new Course(code, name); courses.add(newCourse); System.out.println(课程添加成功编号 code 名称 name); } else { System.out.println(课程添加失败编号已存在); } }第五部分代码解析定义了一个enrollCourse方法用于学生选课。首先提示用户输入学生学号和课程编号并使用getIntInput和getStringInput方法读取用户输入。通过findStudentById方法和findCourseByCode方法查找学生和课程。如果学生或课程不存在则提示用户重新输入。调用学生的enrollCourse方法将选课添加到学生的选课列表中。打印选课成功的提示信息。到此enrollCourse方法结束。private static void enrollCourse() { System.out.println(请输入学生学号); int id getIntInput(); System.out.println(请输入课程编号); String code getStringInput(); Student student findStudentById(id); Course course findCourseByCode(code); if (student null || course null) { System.out.println(学生或课程不存在请重新输入。); return; } student.enrollCourse(course); System.out.println(选课成功); }第六部分代码解析定义了一个displayEnrollment方法用于查看选课结果。首先提示用户输入学生学号并使用getIntInput方法读取用户输入。通过findStudentById方法查找学生。如果学生不存在则提示用户重新输入。调用学生的displayEnrollment方法打印选课结果。displayEnrollment方法结束。private void displayEnrollment() { System.out.println(请输入学生学号); int id getIntInput(); Student student findStudentById(id); if (student null) { System.out.println(学生不存在请重新输入。); return; } student.displayEnrollment(); }第七部分代码解析定义了四个方法findStudentById方法用于通过学号查找学生。遍历学生列表找到对应学号的学生并返回。findCourseByCode方法用于通过课程编号查找课程。遍历课程列表找到对应编号的课程并返回。getIntInput和getStringInput方法用于读取用户输入的整数和字符串并返回对应的值。private static Student findStudentById(int id){ for (Student student : students) { if (student.getId() id) { return student; } } return null; } private static Course findCourseByCode(String code) { for (Course course :courses) { if (course.getCode().equals(code)) { return course; } } return null; } private static int getIntInput() { Scanner scanner new Scanner(System.in); return scanner.nextInt(); } private static String getStringInput() { Scanner scanner new Scanner(System.in); return scanner.next(); } }五.学生选课管理系统全部代码Student类import java.util.ArrayList; import java.util.List; class Student { private String name; private int id; private ListCourse courses; public Student(String name, int id) { this.name name; this.id id; this.courses new ArrayList(); } public String getName() { return name; } public int getId() { return id; } public ListCourse getCourses() { return courses; } public void addCourse(Course course) { courses.add(course); } public void displayEnrollment() { System.out.println(学生姓名 name 学号 id 已选修的课程); for (Course course : courses) { System.out.println(课程编号:course.getCode(),课程名称:course.getCourseName()); } } public void enrollCourse(Course course) { if (!courses.contains(course)) { courses.add(course); course.addStudent(this); } } }Course类import java.util.ArrayList; import java.util.List; class Course { private String code; private String coursename; private ListStudent students; public Course(String code, String name) { this.code code; this.coursename name; this.students new ArrayList(); } public String getCode() { return code; } public String getCourseName() { return coursename; } public ListStudent getStudents() { return students; } public void enrollStudent(Student student) { students.add(student); } public void addStudent(Student student) { if (!students.contains(student)) { students.add(student); student.enrollCourse(this); } } }ManagementSystem类import java.util.ArrayList; import java.util.Scanner; class ManagementSystem { private static ArrayListStudent students new ArrayList(); private static ArrayListCourse courses new ArrayList(); Scanner scanner new Scanner(System.in); public static void main(String[] args) { ManagementSystem main new ManagementSystem(); main.run(); } public void run() { while (true) { System.out.println(请选择操作); System.out.println(1. 注册学生); System.out.println(2. 添加课程); System.out.println(3. 学生选课); System.out.println(4. 查看选课结果); System.out.println(0. 退出系统); System.out.print(请输入选项); int choice scanner.nextInt(); scanner.nextLine(); switch (choice) { case 1: registerStudent(); break; case 2: addCourse(); break; case 3: enrollCourse(); break; case 4: displayEnrollment(); break; case 0: System.out.println(谢谢使用再见); return; default: System.out.println(无效选项请重新选择。); } System.out.println(); } } private void registerStudent() { System.out.print(请输入学生学号); int id scanner.nextInt(); System.out.print(请输入学生姓名); String name scanner.next(); boolean isRegistered false; if (!isRegistered) { Student newStudent new Student(name, id); students.add(newStudent); System.out.println(学生注册成功姓名 name 学号 id); } else { System.out.println(学生注册失败学号已存在); } for (Student student : students) { if (student.getId()id) { System.out.println(学号已存在请重新输入); isRegistered true; break; } } } private void addCourse() { System.out.print(请输入课程编号); String code scanner.next(); System.out.print(请输入课程名称); String name scanner.next(); boolean isAdded false; for (Course course : courses) { if (course.getCode().equals(code)) { System.out.println(课程已存在请重新输入); isAdded true; break; } } if (!isAdded) { Course newCourse new Course(code, name); courses.add(newCourse); System.out.println(课程添加成功编号 code 名称 name); } else { System.out.println(课程添加失败编号已存在); } } private static void enrollCourse() { System.out.println(请输入学生学号); int id getIntInput(); System.out.println(请输入课程编号); String code getStringInput(); Student student findStudentById(id); Course course findCourseByCode(code); if (student null || course null) { System.out.println(学生或课程不存在请重新输入。); return; } student.enrollCourse(course); System.out.println(选课成功); } private void displayEnrollment() { System.out.println(请输入学生学号); int id getIntInput(); Student student findStudentById(id); if (student null) { System.out.println(学生不存在请重新输入。); return; } student.displayEnrollment(); } private static Student findStudentById(int id){ for (Student student : students) { if (student.getId() id) { return student; } } return null; } private static Course findCourseByCode(String code) { for (Course course :courses) { if (course.getCode().equals(code)) { return course; } } return null; } private static int getIntInput() { Scanner scanner new Scanner(System.in); return scanner.nextInt(); } private static String getStringInput() { Scanner scanner new Scanner(System.in); return scanner.next(); } }运行结果展示六.总结以上是我编写的学生管理系统的代码和解析仅实现学生选课管理系统部分简单的功能并不能实现很强大的功能可以给各位提供一些参考。学生选课系统的写代码过程中积极学习并运用了Java基础编程知识通过实践提高了自己的编程能力。Java开发的就业市场正在经历结构性调整竞争日益激烈传统纯业务开发岗位如仅完成增删改查业务的后端工程师的需求特别是入门级岗位正显著萎缩。随着企业技术需求升级市场对Java人才的要求已从通用技能转向了更深入的领域经验如云原生、微服务或前沿的AI集成能力。这也导致岗位竞争加剧在一、二线城市求职者不仅面临技术内卷还需应对学历与项目经验的高门槛。大模型为核心的AI领域正展现出前所未有的就业热度与人才红利2025年AI相关新发岗位数量同比激增543%单月增幅最高超过11倍大模型算法工程师位居热门岗位前列。行业顶尖人才的供需严重失衡议价能力极强跳槽薪资涨幅可达30%-50%。值得注意的是市场并非单纯青睐算法研究员而是急需能将大模型能力落地于复杂业务系统的工程人才。这使得具备企业级架构思维和复杂系统整合经验的Java工程师在向“Java大模型”复合人才转型时拥有独特优势成为企业竞相争夺的对象其薪资天花板也远高于传统Java岗位。说真的这两年看着身边一个个搞Java、C、前端、数据、架构的开始卷大模型挺唏嘘的。大家最开始都是写接口、搞Spring Boot、连数据库、配Redis稳稳当当过日子。结果GPT、DeepSeek火了之后整条线上的人都开始有点慌了大家都在想“我是不是要学大模型不然这饭碗还能保多久”先给出最直接的答案一定要把现有的技术和大模型结合起来而不是抛弃你们现有技术掌握AI能力的Java工程师比纯Java岗要吃香的多。即使现在裁员、降薪、团队解散的比比皆是……但后续的趋势一定是AI应用落地大模型方向才是实现职业升级、提升薪资待遇的绝佳机遇如何学习AGI大模型作为一名热心肠的互联网老兵我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。因篇幅有限仅展示部分资料需要点击下方链接即可前往获取2025最新版CSDN大礼包《AGI大模型学习资源包》免费分享**一、2025最新大模型学习路线一个明确的学习路线可以帮助新人了解从哪里开始按照什么顺序学习以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛没有明确的学习路线可能会导致新人感到迷茫不知道应该专注于哪些内容。我们把学习路线分成L1到L4四个阶段一步步带你从入门到进阶从理论到实战。L1级别:AI大模型时代的华丽登场L1阶段我们会去了解大模型的基础知识以及大模型在各个行业的应用和分析学习理解大模型的核心原理关键技术以及大模型应用场景通过理论原理结合多个项目实战从提示工程基础到提示工程进阶掌握Prompt提示工程。L2级别AI大模型RAG应用开发工程L2阶段是我们的AI大模型RAG应用开发工程我们会去学习RAG检索增强生成包括Naive RAG、Advanced-RAG以及RAG性能评估还有GraphRAG在内的多个RAG热门项目的分析。L3级别大模型Agent应用架构进阶实践L3阶段大模型Agent应用架构进阶实现我们会去学习LangChain、 LIamaIndex框架也会学习到AutoGPT、 MetaGPT等多Agent系统打造我们自己的Agent智能体同时还可以学习到包括Coze、Dify在内的可视化工具的使用。L4级别大模型微调与私有化部署L4阶段大模型的微调和私有化部署我们会更加深入的探讨Transformer架构学习大模型的微调技术利用DeepSpeed、Lamam Factory等工具快速进行模型微调并通过Ollama、vLLM等推理部署框架实现模型的快速部署。整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握而L3 L4更多的是通过项目实战来掌握大模型的应用开发针对以上大模型的学习路线我们也整理了对应的学习视频教程和配套的学习资料。二、大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF三、大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。四、大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。五、大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。因篇幅有限仅展示部分资料需要点击下方链接即可前往获取2025最新版CSDN大礼包《AGI大模型学习资源包》免费分享

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询