IMG-LOGO
×

Tài Liệu Học

Khoá học lập trình Java Core nâng cao

Exception & Collection

[Video] Tìm hiểu exception + debug + package - lập trình Java Nâng Cao [Video] Tìm hiểu collections, Sets, Maps và Generic - lập trình java nâng cao [Video] Chương trình quản lý sinh viên bằng HashMap - Java Advanced

File

[Video] Hướng dẫn đọc ghi file FileInputStream, FileOutputStream, ObjectInputStream trong java - lập trình java nâng cao [Video] Bài tập quản lý sách & lưu thông tin trên Files [Video] File - Quản lý thông tin sinh viên [Video] Quản lý thông tin sinh & lưu object file - Java nâng cao [Video] Viết ứng dụng WinRar | WinZip | 7Zip bằng Java - Nén file Java & giải nén file Java - Khoá học Java [Video] Bài tập quản lý bán vé máy bay - java nâng cao

Thread

[Video] Phân tích quản lý ứng dụng trong HĐH (Window, Mac, Linux)-Phân tích Game đa luồng Java [Video] Tìm hiểu Thread - Đồng bộ Thread - lập trình java nâng cao - Bổ sung thêm lớp học mới. [Video] Giải thích synchronized + Lap trinh Java nang cao [Video] Thread thực hiện in ngẫu nhiên các số nguyên và ký tự - Phần 1 [Video] Thread thực hiện in ngẫu nhiên các số nguyên và ký tự & Đông bộ thread + wait notify + synchronized + Java nâng cao - Phần 2 [Video] Synchronized 2 Thread - Bài tập mảng tên + địa chỉ - Java nâng cao [Video] Bài tập ôn luyện tổng hợp File, OOP, Thread trong java [Video] Sử dụng MultiThreading sinh ký tự a-zA-Z trong java

CSDL

[Video] Kết nối MySQL trong java swing JDBC trong java - lập trình java nâng cao [Video] Kết nối CSDL bằng java swing phần 1 - lập trình java nâng cao [Video] Kết nối CSDL bằng java swing phần 2 - lập trình java nâng cao [Video] Chương trình quản lý thư viện Java + XML Java + CSDL Java- SQL Java [Video] Phần mềm quản lý sinh viên MySQL + Java - Chương trình quản lý sinh viên MySQL + Java - Lập Trình Java [Video] Bài Tập Quản Lý Sinh Viên - CSDL - Java Swing [Video] Chương trình quản lý sản phẩm - quản lý tin tức - quản lý bán hàng - Lập trình Java [Video] Chức năng register & login + CSDL - Lập trình Java nâng cao - Phần 1 [Video] Hướng dẫn sử dụng Persistence Java - Kết nối database Java - MySQL Java nâng cao

Design Pattern & Đa Ngôn Ngữ

[Video] Design Pattern lập trình java nâng cao - lập trình java nâng cao

XML & JSON & CSDL

[Video] C1 > Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java [Video] C2 > Chương trình quản lý sinh viên Java + Import/Export JSON + File - Lập Trình Java

Ôn Tập Tổng Quát & Exmination

[Video] Bài tập - Chường trình quản lý sở thú - Lập trình Java - Lập trình Java nâng cao - Phần 1 [Video] Bài tập - Chường trình quản lý sở thú - Lập trình Java - Lập trình Java nâng cao - Phần 2




Trang Chủ Java Advanced File - Quản lý thông tin sinh viên

File - Quản lý thông tin sinh viên

by GokiSoft.com - 10:22 25/09/2021 22,984 Lượt Xem

Viết chương trình quản lý sinh viên. Mỗi đối tượng sinh viên có các thuộc tính sau: id, name, age, address và gpa (điểm trung bình). Yêu cầu: tạo ra một menu với các chức năng sau: 

/****************************************/
1. Add student.
2. Edit student by id.
3. Delete student by id.
4. Sort student by gpa.
5. Sort student by name.
6. Show student.

7. Lưu thông tin sv vào file student.txt

8. Đọc thông tin sv từ file student.txt và hiển thị ra màn hình
0. Exit.
/****************************************/

Chú ý mỗi thông tin sinh viên được lưu trên 1 dòng. Các thuộc tính cách nhau bằng dấu ,

Bình luận



Chia sẻ từ lớp học

lê văn phương [T1907A]

Ngày viết: 15:58 24/03/2020



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package quan_ly_sv;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 *
 * @author HOME
 */
public class Main {
   public static void main(String[] args) {
        Map<String, Student> studentHashMap = new HashMap<>();
        
        Scanner input = new Scanner(System.in);
        int choose;
        
        do {
            showMenu();
            choose = Integer.parseInt(input.nextLine());
            
            switch(choose) {
                case 1:
                    System.out.println("Nhap N: ");
                    int n = Integer.parseInt(input.nextLine());
                    for (int i = 0; i < n; i++) {
                        Student std = new Student();
                        std.input();
                        
                        studentHashMap.put(std.getRollNo(), std);
                    }
                    break;
                case 2:
                    System.out.println("Thong tin sinh vien");
                    for (Map.Entry<String, Student> entry : studentHashMap.entrySet()) {
                        Student value = entry.getValue();
                        value.display();
                    }
                    break;
                case 3:
                    System.out.println("Nhap MSV can tim kiem: ");
                    String rollNo = input.nextLine();
                    
                    Student stdFind = studentHashMap.get(rollNo);
                    if(stdFind != null) {
                        stdFind.display();
                    } else {
                        System.out.println("Ko tim thay sv voi MSV nhap vao");
                    }
                    break;
                case 4:
                    System.out.println("Exit!!!");
                    break;
            }
        } while(choose != 4);
    }
    
    static void showMenu() {
        System.out.println("1. Nhap N sinh vien");
        System.out.println("2. In thong tin sinh vien");
        System.out.println("3. Tim kiem sinh vien theo RollNo");
        System.out.println("4. Thoat");
        System.out.println("Chon: ");
    }
   
}
    




/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package quan_ly_sv;

import java.util.Scanner;

/**
 *
 * @author HOME
 */
public class Student {
  String name, rollNo, sex, email, address;
    int age;

    public Student() {
    }

    public Student(String name, String rollNo, String sex, String email, String address, int age) {
        this.name = name;
        this.rollNo = rollNo;
        this.sex = sex;
        this.email = email;
        this.address = address;
        this.age = age;
    }
    
    public void input() {
        Scanner input = new Scanner(System.in);
        System.out.println("Nhap ten: ");
        name = input.nextLine();
        
        System.out.println("Nhap MSV: ");
        rollNo = input.nextLine();
        
        System.out.println("Nhap gioi tinh: ");
        sex = input.nextLine();
        
        System.out.println("Nhap Email: ");
        email = input.nextLine();
        
        System.out.println("Nhap dia chi: ");
        address = input.nextLine();
        
        System.out.println("Nhap tuoi: ");
        age = Integer.parseInt(input.nextLine());
    }

    @Override
    public String toString() {
        return "Student{" + "name=" + name + ", rollNo=" + rollNo + ", sex=" + sex + ", email=" + email + ", address=" + address + ", age=" + age + '}';
    }
    
    public void display() {
//        System.out.println(toString());
        System.out.println(this);
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getRollNo() {
        return rollNo;
    }

    public void setRollNo(String rollNo) {
        this.rollNo = rollNo;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    
}


Đỗ Văn Huấn [T1907A]

Ngày viết: 23:52 23/03/2020



package java2_Advanced.BaiTapNgay23_3_2020.File_quanLiSinhVien;

import java.io.Serializable;
import java.util.Scanner;

public class Student implements Serializable {
    String id, name,addRess;
    int age;
    Float gpa;

    public Student() {
    }

    public Student(String id, String name, String addRess, int age, Float gpa) {
        this.id = id;
        this.name = name;
        this.addRess = addRess;
        this.age = age;
        this.gpa = gpa;
    }

    public void input(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("Nhap id:");
        id = scanner.nextLine();
        System.out.println("Nhap ten:");
        name = scanner.nextLine();
        System.out.println("Nhap tuoi:");
        age = Integer.parseInt(scanner.nextLine());
        System.out.println("Nhap dia chi:");
        addRess = scanner.nextLine();
        System.out.println("Nhap diem trung binh:");
        gpa = Float.parseFloat(scanner.nextLine());
    }
    public void output(){
        System.out.println(toString());
    }

    @Override
    public String toString() {
        return "Student {" +
                "id='" + id + '\'' +
                ", name='" + name + '\'' +
                ", addRess='" + addRess + '\'' +
                ", age=" + age +
                ", gpa=" + gpa +
                '}';
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddRess() {
        return addRess;
    }

    public void setAddRess(String addRess) {
        this.addRess = addRess;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Float getGpa() {
        return gpa;
    }

    public void setGpa(Float gpa) {
        this.gpa = gpa;
    }
}



package java2_Advanced.BaiTapNgay23_3_2020.File_quanLiSinhVien;


import java.io.*;
import java.util.*;


public class Manipulation {
    Scanner scanner = new Scanner(System.in);

    List<Student> list = new ArrayList<>();

    public void addStudent() {
        System.out.print("Nhap so sinh vien can them: ");
        int n = Integer.parseInt(scanner.nextLine());
        for (int i = 0; i < n; i++) {
            Student student = new Student();
            student.input();
            list.add(student);
        }
    }

    public void editStudent() {
        System.out.println("Nhap id cua hoc sinh can sua: ");
        String id = scanner.nextLine();
        for (Student edit : list) {
            if (edit.id.equalsIgnoreCase(id)) {    // tìm id của sinh viên trong mảng
                edit.input();                        // tìm được thì sẽ nhập lại thông tin cho sinh viên đó.
            } else {
                System.out.println("Khon tim thay sinh vien co id: " + id);
            }
        }
    }

    public void deleteStudent() {
        System.out.println("Nhap id cua hoc sinh can xóa: ");
        String id = scanner.nextLine();
        for (Student edit : list) {
            if (edit.id.equalsIgnoreCase(id)) {           // tìm id của sinh viên trong mảng
                list.remove(edit);                     // tìm được thì sẽ xóa thông tin cho sinh viên đó khỏi mảng.
            }
        }
    }

    public void sortStudent_gpa() {
        Collections.sort(list, new Comparator<Student>() {
            @Override
            public int compare(Student student, Student t1) {
                if (student.gpa > t1.gpa) {                    //so sanh điểm và sắp xếp theo chiều tăng dần.
                    return 1;
                }
                return -1;
            }
        });
    }

    public void sortStudent_name() {
        Collections.sort(list, new Comparator<Student>() {
            @Override
            public int compare(Student student, Student t1) {
                return student.getName().compareToIgnoreCase(t1.getName());  //sắp xếp tên từ a -> z.
            }
        });
    }

    public void display() {
        for (Student hienthi : list) {
            hienthi.output();                  // hiển thị thông tin sinh viên trong mảng.
        }
    }


    public void saveStudent() {
        FileOutputStream fos = null;                         // khai báo nhập dữ liệu vào cho file
        ObjectOutputStream oos = null;                      // khai báo nhập dữ liệu vào cho đối tượng
        try {
            fos = new FileOutputStream("student.txt");   //tạo 1 file có tên là student.txt
            oos = new ObjectOutputStream(fos);
            oos.writeObject(list);               // truyền dữ liệu vào cho file

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (oos != null) {
                try {
                    oos.close();                 // đóng ....         (bắt buộc phải đóng nếu như có dữ liệu truyền vào)
                    fos.close();                  //đóng file.        (bắt buộc phải đóng nếu như có dữ liệu truyền vào)
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    public void showStudent() {
        FileInputStream fis = null;                   // khai báo hiển thị dữ liệu của file
        ObjectInputStream ois = null;                  // khai báo hiển thị dữ liệu của đối tượng.
        try {
            fis = new FileInputStream("student.txt");
            ois = new ObjectInputStream(fis);

            Object obj = ois.readObject();                            // gọi ra dữ liệu và gán vào Object
            System.out.println(obj);                                // hiển thị dữ liệu trên màng hình.

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        } finally {
            if (ois != null) {
                try {
                    ois.close();
                    fis.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            } else {
                System.out.println("Nothing !!!");
            }
        }
    }
}



package java2_Advanced.BaiTapNgay23_3_2020.File_quanLiSinhVien;

import java.util.Scanner;

public class Test {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Manipulation manipulation = new Manipulation();
        int choose;

        do {
            showMenu();
            System.out.println("Nhap lua chon: ");
            choose = Integer.parseInt(scanner.nextLine());

            switch (choose) {
                case 1:
                    manipulation.addStudent();
                    break;
                case 2:
                    manipulation.editStudent();
                    break;
                case 3:
                    manipulation.deleteStudent();
                    break;
                case 4:
                    manipulation.sortStudent_gpa();
                    break;
                case 5:
                    manipulation.sortStudent_name();
                    break;
                case 6:
                    manipulation.display();
                    break;
                case 7:
                    manipulation.saveStudent();
                    break;
                case 8:
                    manipulation.showStudent();
                    break;
                case 9:
                    System.out.println("Thoat.");
                    break;
                default:
                    System.err.println("Nhap sai");
                    break;
            }

        } while (choose != 9);

    }

    static void showMenu() {
        System.out.println("/****************************************/");
        System.out.println("1. Thêm sinh viên");
        System.out.println("2. Chỉnh sửa học sinh theo id.");
        System.out.println("3. Xóa sinh viên theo id.");
        System.out.println("4. Sắp xếp học sinh bằng diem trung binh.");
        System.out.println("5. Sắp xếp học sinh theo tên.");
        System.out.println("6. Hiển thị học sinh.");
        System.out.println("7. Lưu thông tin sv vào file student.txt");
        System.out.println("8. Đọc thông tin sv từ file student.txt và hiển thị ra màn hình");
        System.out.println("9. Exit.");
        System.out.println("/****************************************/");
    }
}


Trương Công Vinh [T1907A]

Ngày viết: 21:14 23/03/2020



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package File;

import java.io.Serializable;
import java.util.Scanner;

/**
 *
 * @author DELL
 */
public class Student implements Serializable{
    String  id, name, address;
    Double  gpa ;
    int  age;

    public Student() {
    }

    public Student(String id, String name, String address, Double gpa, int age) {
        this.id = id;
        this.name = name;
        this.address = address;
        this.gpa = gpa;
        this.age = age;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Double getGpa() {
        return gpa;
    }

    public void setGpa(Double gpa) {
        this.gpa = gpa;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    
    public void input(){
        Scanner scan = new Scanner(System.in);
        System.out.println("ID : ");
        id =scan.nextLine();
        System.out.println("Ten");
        name = scan.nextLine();
        System.out.println("tuoi : ");
        age = Integer.parseInt(scan.nextLine());
        System.out.println("Dia chi : ");
        address = scan.nextLine();
        System.out.println("Diem TB : ");
        gpa = Double.parseDouble(scan.nextLine());
    }
    public void display(){
        System.out.println(""+id+","+name+","+age+","+address+","+gpa);
    }
    
}



/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package File;


import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Map.Entry;
import java.util.Set;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.FileInputStream;
import java.io.ObjectInputStream;

/**
 *
 * @author DELL
 */
public class Test {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        Map<String, Student> stdHM = new HashMap<>();
        Set<Entry<String, Student>> entrySet = stdHM.entrySet();

        List<Entry<String, Student>> listOfEntry = new ArrayList<>(entrySet);
        int c;
        do {
            menu();
            System.out.println(" >>>>>>>>>>>>>>>>>>>  ");
            System.out.println("Lua chon : ");
            c = Integer.parseInt(scan.nextLine());
            switch (c) {
                case 1:
                    System.out.println(" >>>>>>>>>>>>>>>>>>>  ");
                    Case1(stdHM);
                    break;

                case 2:
                    System.out.println(" >>>>>>>>>>>>>>>>>>>  ");
                    Case2(stdHM);
                    break;
                case 3:
                    System.out.println(" >>>>>>>>>>>>>>>>>>>  ");
                    Case3(stdHM);
                    break;

                case 4:
                    Case4(stdHM, listOfEntry, entrySet);
                    break;
                case 5:
                    Case5(stdHM, listOfEntry, entrySet);
                    break;

                case 6:
                    System.out.println(" >>>>>>>>>>>>>>>>>>>  ");
                    case6(stdHM, listOfEntry);
                    break;
                case 7:
                     Case7(listOfEntry);
                    break;
                case 8:
                    case8(listOfEntry);
                    break;

                case 0:
                default:

                    break;

            }

        } while (c != 0);

    }

    public static void menu() {
        System.out.println("/****************************************/");
        System.out.println("1. Add student.");
        System.out.println("2. Edit student by id.");
        System.out.println("3. Delete student by id.");
        System.out.println("4. Sort student by gpa.");
        System.out.println("5. Sort student by name.");
        System.out.println("6. Show student.");
        System.out.println("7. Lưu thông tin sv vào file student.txt");
        System.out.println("8. Đọc thông tin sv từ file student.txt và hiển thị ra màn hình");
        System.out.println("0. Exit.");
        System.out.println("/****************************************/");
    }

    public static void Case1(Map<String, Student> stdHM) {
        Scanner scan = new Scanner(System.in);
        int n;
        System.out.println("Nhap N: ");
        n = Integer.parseInt(scan.nextLine());
        for (int i = 0; i < n; i++) {
            Student std = new Student();
            std.input();
            stdHM.put(std.getId(), std);
        }

    }

    public static void Case2(Map< String, Student> stdHM) {
        Scanner scan = new Scanner(System.in);

        System.out.println("Nhap MSV can tim kiem: ");
        String id = scan.nextLine();
        Student stdFind = stdHM.get(id);
        if (stdFind != null) {

            System.out.println("Ten");
            stdFind.setName(scan.nextLine());
            System.out.println("tuoi : ");
            stdFind.setAge(Integer.parseInt(scan.nextLine()));
            System.out.println("Dia chi : ");
            stdFind.setAddress(scan.nextLine());
            System.out.println("Diem TB : ");
            stdFind.setGpa(Double.parseDouble(scan.nextLine()));
        } else {
            System.out.println("khong ton tai Id");
        }

    }

    public static void Case3(Map<String, Student> stdHM) {
        Scanner scan = new Scanner(System.in);

        System.out.println("Nhap MSV can tim kiem: ");
        String id = scan.nextLine();
        Student stdFind = stdHM.remove(id);

    }

    public static void Case4(Map<String, Student> stdHM, List<Entry<String, Student>> listOfEntry,Set<Entry<String, Student>> entrySet) {
        Set<Entry<String, Student>> entrySet1 = stdHM.entrySet();

        List<Entry<String, Student>> listOfEntry1 = new ArrayList<>(entrySet1);

        Collections.sort(listOfEntry1, new Comparator<Entry<String, Student>>() {
            @Override
            public int compare(Entry<String, Student> o1, Entry<String, Student> o2) {
                if (o1.getValue().getGpa() > o2.getValue().getGpa()) {
                    return -1;
                }
                return 1;
            }
        });
        listOfEntry.removeAll(entrySet);
        for (int i = 0; i < listOfEntry1.size(); i++) {
            listOfEntry.add(listOfEntry1.get(i));
        }

    }

    public static void Case5(Map<String, Student> stdHM, List<Entry<String, Student>> listOfEntry,Set<Entry<String, Student>> entrySet) {
          Set<Entry<String, Student>> entrySet2 = stdHM.entrySet();

                    List<Entry<String, Student>> listOfEntry2 = new ArrayList<>(entrySet2);
                    Collections.sort(listOfEntry2, new Comparator<Entry<String, Student>>() {
                        @Override
                        public int compare(Entry<String, Student> o1, Entry<String, Student> o2) {
                            return o1.getValue().getName().compareToIgnoreCase(o2.getValue().getName());
                        }
                    });
                    listOfEntry.removeAll(entrySet);
                    for (int i = 0; i < listOfEntry2.size(); i++) {
                        
                        listOfEntry.add(listOfEntry2.get(i));
                    }
    }

    public static void case6(Map<String, Student> stdHM, List<Entry<String, Student>> listOfEntry) {

        for (Map.Entry<String, Student> entry : stdHM.entrySet()) {
            String key = entry.getKey();
            Student value = entry.getValue();
            value.display();
        }
        System.out.println("sap xep : ");
        for (int i = 0; i < listOfEntry.size(); i++) {
            listOfEntry.get(i).getValue().display();
        }

    }
    public static void Case7( List<Entry<String, Student>> listOfEntry) {
        
        
        ArrayList<Student> stdt = new ArrayList<>();
        for (int i = 0; i < listOfEntry.size(); i++) {
            Student std1 = new Student();
            std1 = listOfEntry.get(i).getValue();
            stdt.add(std1);
        }
        
        try {
            FileOutputStream fos = new FileOutputStream("d:/Student.txt");
            ObjectOutputStream oos = new ObjectOutputStream(fos);
            
            oos.writeObject(stdt);
            
            oos.close();
            fos.close();
            
        } catch (IOException ex) {
            System.err.println("Loi ghi file : \n "+ex);
        }
    }
    public static void case8( List<Entry<String, Student>> listOfEntry) {
        try {
            FileInputStream fis = new FileInputStream("d:/Student.txt");
            ObjectInputStream ois = new ObjectInputStream(fis);
            
            ArrayList<Student> stdt = (ArrayList<Student>) ois.readObject();
            for (Student student : stdt) {
                student.display();
            }
            
            
        } catch (Exception ex) {
            System.err.println("Loi doc file : \n"+ex);
        }
    }

}


Tài Liệu Tham Khảo

Ứng Dụng Tiện Ích



Đã sao chép!!!