Untitled
unknown
plain_text
2 years ago
4.8 kB
8
Indexable
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
class Student implements Serializable {
private String maSV;
private String hoten;
private int nhom;
public Student(String maSV, String hoten, int nhom) {
this.maSV = maSV;
this.hoten = hoten;
this.nhom = nhom;
}
// Getter and setter methods...
public String getMaSV() {
return maSV;
}
public void setMaSV(String maSV) {
this.maSV = maSV;
}
public String getHoten() {
return hoten;
}
public void setHoten(String hoten) {
this.hoten = hoten;
}
public int getNhom() {
return nhom;
}
public void setNhom(int nhom) {
this.nhom = nhom;
}
@Override
public String toString() {
return "Mã SV: " + maSV + ", Họ tên: " + hoten + ", Nhóm: " + nhom;
}
}
public class StudentManagementApp {
private static final String FILE_NAME = "students.dat";
public static void main(String[] args) {
ArrayList<Student> studentList = loadStudentData();
Scanner scanner = new Scanner(System.in);
int choice;
do {
System.out.println("1. Thêm sinh viên");
System.out.println("2. Cập nhật sinh viên");
System.out.println("3. Hiển thị danh sách sinh viên");
System.out.println("4. Lưu và thoát");
System.out.print("Chọn: ");
choice = scanner.nextInt();
scanner.nextLine(); // Consume the newline character
switch (choice) {
case 1:
addStudent(studentList, scanner);
break;
case 2:
updateStudent(studentList, scanner);
break;
case 3:
displayStudentList(studentList);
break;
case 4:
saveStudentData(studentList);
break;
default:
System.out.println("Lựa chọn không hợp lệ.");
}
} while (choice != 4);
}
private static ArrayList<Student> loadStudentData() {
ArrayList<Student> studentList = new ArrayList<>();
try (FileInputStream fis = new FileInputStream(FILE_NAME);
ObjectInputStream ois = new ObjectInputStream(fis)) {
studentList = (ArrayList<Student>) ois.readObject();
} catch (IOException | ClassNotFoundException e) {
// Ignore if the file doesn't exist or couldn't be loaded
}
return studentList;
}
private static void saveStudentData(ArrayList<Student> studentList) {
try (FileOutputStream fos = new FileOutputStream(FILE_NAME);
ObjectOutputStream oos = new ObjectOutputStream(fos)) {
oos.writeObject(studentList);
System.out.println("Dữ liệu đã được lưu.");
} catch (IOException e) {
e.printStackTrace();
}
}
private static void addStudent(ArrayList<Student> studentList, Scanner scanner) {
System.out.print("Nhập mã SV: ");
String maSV = scanner.nextLine();
System.out.print("Nhập họ tên: ");
String hoten = scanner.nextLine();
System.out.print("Nhập nhóm: ");
int nhom = scanner.nextInt();
scanner.nextLine(); // Consume the newline character
Student newStudent = new Student(maSV, hoten, nhom);
studentList.add(newStudent);
System.out.println("Sinh viên đã được thêm.");
}
private static void updateStudent(ArrayList<Student> studentList, Scanner scanner) {
System.out.print("Nhập mã SV của sinh viên cần cập nhật: ");
String maSV = scanner.nextLine();
boolean found = false;
for (Student student : studentList) {
if (student.getMaSV().equals(maSV)) {
System.out.print("Nhập họ tên mới: ");
String hoten = scanner.nextLine();
System.out.print("Nhập nhóm mới: ");
int nhom = scanner.nextInt();
scanner.nextLine(); // Consume the newline character
student.setHoten(hoten);
student.setNhom(nhom);
System.out.println("Sinh viên đã được cập nhật.");
found = true;
break;
}
}
if (!found) {
System.out.println("Không tìm thấy sinh viên có mã SV đã nhập.");
}
}
private static void displayStudentList(ArrayList<Student> studentList) {
for (Student student : studentList) {
System.out.println(student);
}
}
}
Editor is loading...