用java编写能简单实现注册、登录、查课、退出的在线选课系统不需要数据库定义用户类users,课程类course
时间: 2024-01-31 21:02:25 浏览: 34
以下是一个基于控制台的简单选课系统示例,没有使用数据库,使用了用户类和课程类。
用户类:
```java
public class User {
private String username;
private String password;
private String name;
private int age;
public User(String username, String password, String name, int age) {
this.username = username;
this.password = password;
this.name = name;
this.age = age;
}
public String getUsername() {
return username;
}
public String getPassword() {
return password;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
课程类:
```java
public class Course {
private String name;
private int capacity;
private int enrolled;
public Course(String name, int capacity) {
this.name = name;
this.capacity = capacity;
this.enrolled = 0;
}
public String getName() {
return name;
}
public int getCapacity() {
return capacity;
}
public int getEnrolled() {
return enrolled;
}
public boolean addStudent() {
if (enrolled < capacity) {
enrolled++;
return true;
} else {
return false;
}
}
}
```
选课系统类:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class CourseSelectionSystem {
private ArrayList<User> users;
private ArrayList<Course> courses;
private User currentUser;
public CourseSelectionSystem() {
users = new ArrayList<>();
courses = new ArrayList<>();
currentUser = null;
}
public void run() {
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("-------------------------");
System.out.println("Welcome to Course Selection System");
System.out.println("1. Register");
System.out.println("2. Login");
System.out.println("3. View Courses");
System.out.println("4. Quit");
System.out.println("-------------------------");
System.out.print("Please enter your choice: ");
int choice = scanner.nextInt();
scanner.nextLine();
switch (choice) {
case 1:
register();
break;
case 2:
login();
break;
case 3:
viewCourses();
break;
case 4:
System.out.println("Goodbye!");
return;
default:
System.out.println("Invalid choice, please try again.");
}
}
}
private void register() {
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter your information:");
System.out.print("Username: ");
String username = scanner.nextLine();
System.out.print("Password: ");
String password = scanner.nextLine();
System.out.print("Name: ");
String name = scanner.nextLine();
System.out.print("Age: ");
int age = scanner.nextInt();
scanner.nextLine();
User user = new User(username, password, name, age);
users.add(user);
System.out.println("Registration successful!");
}
private void login() {
Scanner scanner = new Scanner(System.in);
System.out.print("Username: ");
String username = scanner.nextLine();
System.out.print("Password: ");
String password = scanner.nextLine();
for (User user : users) {
if (user.getUsername().equals(username) && user.getPassword().equals(password)) {
currentUser = user;
System.out.println("Login successful!");
return;
}
}
System.out.println("Invalid username or password.");
}
private void viewCourses() {
if (currentUser == null) {
System.out.println("Please login first.");
return;
}
System.out.println("Available courses:");
for (Course course : courses) {
System.out.printf("%s (%d/%d)%n", course.getName(), course.getEnrolled(), course.getCapacity());
}
System.out.print("Do you want to enroll in a course? (y/n) ");
Scanner scanner = new Scanner(System.in);
String choice = scanner.nextLine();
if (choice.equals("y")) {
enrollCourse();
}
}
private void enrollCourse() {
if (currentUser == null) {
System.out.println("Please login first.");
return;
}
System.out.print("Enter the name of the course you want to enroll in: ");
Scanner scanner = new Scanner(System.in);
String courseName = scanner.nextLine();
for (Course course : courses) {
if (course.getName().equals(courseName)) {
if (course.addStudent()) {
System.out.println("Enrollment successful!");
} else {
System.out.println("Course is full, enrollment failed.");
}
return;
}
}
System.out.println("Course not found.");
}
public static void main(String[] args) {
CourseSelectionSystem system = new CourseSelectionSystem();
system.run();
}
}
```
这个选课系统没有使用数据库,所以每次运行程序都是全新的,没有保存任何数据。但是它可以演示如何使用类和控制台输入输出来实现注册、登录、查课和选课等功能。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)