Java实现学生选课成功后,选课状态变更为“已选”,否则,课程状态变更为“可选”;学生选择“已选”课程,提示“该课程无法重复选择”;
时间: 2023-10-02 12:04:24 浏览: 41
您好!针对您的问题,我可以给出如下的Java代码实现:
首先,我们需要定义一个课程类 Course,以及一个学生类 Student,其中 Course 类中包含一个属性 status 表示课程的状态(可选或已选),Student 类中包含一个属性 courses 表示学生已选的课程。
```java
public class Course {
private String name;
private String status;
public Course(String name, String status) {
this.name = name;
this.status = status;
}
public String getName() {
return name;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
public class Student {
private String name;
private List<Course> courses;
public Student(String name) {
this.name = name;
courses = new ArrayList<>();
}
public String getName() {
return name;
}
public List<Course> getCourses() {
return courses;
}
public void addCourse(Course course) {
if (course.getStatus().equals("已选")) {
System.out.println("该课程无法重复选择!");
} else {
courses.add(course);
course.setStatus("已选");
System.out.println("选课成功!");
}
}
}
```
然后,我们可以创建一些课程和学生进行测试:
```java
public class Main {
public static void main(String[] args) {
// 创建一些课程
Course course1 = new Course("Java", "可选");
Course course2 = new Course("Python", "可选");
Course course3 = new Course("C++", "可选");
// 创建一个学生
Student student = new Student("小明");
// 学生选课
student.addCourse(course1); // 选课成功!
student.addCourse(course2); // 选课成功!
student.addCourse(course1); // 该课程无法重复选择!
student.addCourse(course3); // 选课成功!
// 输出学生已选的课程
List<Course> courses = student.getCourses();
System.out.println(student.getName() + "已选的课程:");
for (Course course : courses) {
System.out.println(course.getName());
}
}
}
```
运行结果如下:
```
选课成功!
选课成功!
该课程无法重复选择!
选课成功!
小明已选的课程:
Java
Python
C++
```
希望这个代码可以帮助到您,如果您还有其他问题,请随时提出!
阅读全文