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 21,139 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

Nguyễn Hùng Anh [community,C2009G]

Ngày viết: 06:18 27/09/2021


#Main.java


/*
 * 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 lesson11.bt1071;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Admin
 */
public class Main {
    static List<Student> studentList;
    static Scanner scan;
    
    public static void main(String[] args) {
        studentList = new ArrayList<>();
        int c;
        scan = new Scanner(System.in);
        do {            
            showMenu();
            c = scan.nextInt();
            switch(c) {
                case 1:
                    input();
                    break;
                case 2:
                    editById();
                    break;
                case 3:
                    deleteById();
                    break;
                case 4:
                    sortByGpa();
                    display();
                    break;
                case 5:
                    sortByName();
                    display();
                    break;
                case 6:
                    display();
                    break;
                case 7:
                    saveFile();
                    break;
                case 8:
                    readFile();
                    break;
                default:
                    System.out.println("Wrong choise!!! Please enter again.");
                    break;
            }
        } while (c != 0);
    }
    
    static void showMenu() {
        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. Soft student by gpa");
        System.out.println("5. Soft student by name");
        System.out.println("6. Show students");
        System.out.println("7. Save into student.txt");
        System.out.println("8. Read student.txt and show");
        System.out.println("0. Exit");
        System.out.println("/****************************************/");
        System.out.println("Your choice: ");
    }
    
    static void input() {
        Student std = new Student();
        std.input();
        
        studentList.add(std);
    }
    
    static void display() {
        System.out.println("***Students Detail Information***");
        studentList.forEach(student -> {
            student.display();
        });
    }
    
    static void editById() {
        boolean isExisted = false;
        System.out.println("Enter id to edit: ");
        int findId = scan.nextInt();
        for (Student student : studentList) {
            if(student.getId() == findId){
                isExisted = true;
                student.input();
                System.out.println("Edit success!!!");
            }
        }
        if(!isExisted){
            System.out.println("Id: " + findId + " is not exist");
        }
    }
    
    static void deleteById() {
        boolean isExisted = false;
        System.out.println("Enter id to delete: ");
        int deleteId = scan.nextInt();
        for (Student student : studentList) {
            if(student.getId() == deleteId) {
                isExisted = true;
                studentList.remove(student);
                System.out.println("Deleted id: " + deleteId);
            }
        }
        if(!isExisted) {
            System.out.println("Id: " + deleteId + " is not exist");
        }
    }
    
    static void sortByName() {
        Collections.sort(studentList, new Comparator<Student>() {
            @Override
            public int compare(Student s1, Student s2) {
                return s1.getName().compareToIgnoreCase(s2.getName());
            }
        });
    }
    
    static void sortByGpa() {
        Collections.sort(studentList, new Comparator<Student>() {
            @Override
            public int compare(Student s1, Student s2) {
                return s1.getGpa() > s2.getGpa() ? 1 : -1;
            }
            
        });
    }
    
    static void saveFile() {
        FileOutputStream fos = null;
        
        try {
            fos = new FileOutputStream("student.txt");
            
            for (Student student : studentList) {
                String line = student.getFileLine();
                byte[] data = line.getBytes("utf8");
                
                fos.write(data);
            }
            System.out.println("Save success!!!");
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            if(fos != null) {
                try {
                    fos.close();
                } catch (IOException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    }
    
    static void readFile() {
        
        FileInputStream fis = null;
        StringBuilder builder = new StringBuilder();
        try {
            fis = new FileInputStream("student.txt");
            
            int code;
            while((code = fis.read()) != -1) {
                builder.append((char) code);
            }
            System.out.println(builder.toString());
        } catch (FileNotFoundException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
            if(fis != null) {
                try {
                    fis.close();
                } catch (IOException ex) {
                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
        
        
    }
    
}




#Student.java


/*
 * 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 lesson11.bt1071;

import java.util.Scanner;

/**
 *
 * @author Admin
 */
public class Student {
    int id, age;
    float gpa;
    String name, address;

    public Student() {
    }

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

    public int getId() {
        return id;
    }

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

    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;
    }

    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 String getFileLine() {
        return id + "," + name + "," + age + "," + address + "," + gpa + "\n";
    }

    @Override
    public String toString() {
        return "Student{" + "id=" + id + ", age=" + age + ", gpa=" + gpa + ", name=" + name + ", address=" + address + '}';
    }
    
    public void input() {
        Scanner scan = new Scanner(System.in);
        
        System.out.println("Enter Student's id: ");
        id = scan.nextInt();
        
        System.out.println("Enter student's name: ");
        name = scan.next();
        
        System.out.println("Enter student's age: ");
        age = scan.nextInt();
        
        System.out.println("Enter student's address: ");
        address = scan.next();
        
        System.out.println("Enter student's gpa: ");
        gpa = scan.nextFloat();
    }
    
    public void display() {
        System.out.println(this);
    }
}


Nguyễn Anh Vũ [T2008A]

Ngày viết: 14:06 17/03/2021

#Student


/*
 * 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 BT1;

/**
 *
 * @author NAV
 */
public class Student {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    }
    String Rollno;
    String Name;
    String Sex;
    int Age;
    String Email;
    String Address;
    
    public Student(){
    }
    public Student(String Rollno, String Name, String Sex, int Age, String Email, String Address){
        this.Rollno = Rollno;
        this.Name = Name;
        this.Sex = Sex;
        this.Age = Age;
        this.Email = Email;
        this.Address = Address;
    }
    public String getRollno(){
        return Rollno = Rollno;
    }
    public void setRollno(String Rollno){
        this.Rollno = Rollno;
    }
    
    public String getName(){
        return Name = Name;
    }
    public void setName(String Name){
        this.Name = Name;
    }
    
    public String getSex(){
        return Sex = Sex;
    }
    public void setSex(String Sex){
        this.Sex = Sex;
    }
    
    public int getAge(){
        return Age = Age;
    }
    public void setAge(int Age){
        this.Age = Age;
    }
    
    public String getEmail(){
        return Email = Email;
    }
    public void setEmail(String Email){
        this.Email = Email;
    }
    
    public String getAddress() {
        return Address;
    }
    public void setAddress(String Address) {
        this.Address = Address;
    }

    @Override
    public String toString() {
        return "Student{" + "Rollno=" + Rollno + ", Name=" + Name + ", Sex=" + Sex + ", Age=" + Age + ", Email=" + Email + ", Address=" + Address + '}';
    }
    
    public void Input(){
        Scanner scan = new Scanner(System.in);
        System.out.println("Nhap Ma SV:");
        Rollno = scan.nextLine();
        System.out.println("Nhap ten SV:");
        Name = scan.nextLine();
        System.out.println("Nhap Gioi Tinh:");
        Sex = scan.nextLine();
        System.out.println("Nhap tuoi:");
        Age = scan.nextInt();
        System.out.println("Nhap Email:");
        Email = scan.nextLine();
        System.out.println("Nhap Dia Chi:");
        Address = scan.nextLine();
    }
}


Nguyễn Anh Vũ [T2008A]

Ngày viết: 14:04 17/03/2021


#Mail
/*
 * 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 BT1;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

/**
 *
 * @author NAV
 */
public class Main {
     /**
     * @param args the command line arguments
     */
     public static void main(String[] args) {
          // TODO code application logic here
       Scanner scan = new Scanner(System.in);
        Map<String, Student> maps = new HashMap<>();
        int choose;
        do{
            showMenu();
            choose = Integer.parseInt(scan.nextLine());
            switch(choose){
                case 1:
                        System.out.println("Nhap so SV:");
                        int num = Integer.parseInt(scan.nextLine());
                        for (int i = 0; i < num; i++) {
                            Student std = new Student();
                            std.Input();
                            maps.put(std.Rollno, std);
                    }
                    break;
                case 2:
                    maps.entrySet().forEach((student) -> {
                        System.out.println(student);
            });
                    break;
                case 3:
                    break;
                case 4:
                    System.out.println("Ket thuc!!!");
                    break;
                default :
                    System.out.println("Nhap sai!!!");
                    break;
            }
        }while(choose!=4);
          
    }
    static void showMenu(){
        System.out.println("1.Nhap thong tin N Sinh vien");
        System.out.println("2.In thong tin SV");
        System.out.println("3.Tim kiem thong tin Sinh vien theo maSV");
        System.out.println("4.Thoat!!!");
    }
}


Triệu Văn Lăng [T2008A]

Ngày viết: 15:38 16/03/2021



/*
 * 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 bai1071;

import java.util.Scanner;

/**
 *
 * @author MTLS
 */
public class Student {
    String name, address;
    int id, age;
    float gpa;

    public Student() {
    }

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

    public String getName() {
        return name;
    }

    public String getAddress() {
        return address;
    }

    public int getId() {
        return id;
    }

    public int getAge() {
        return age;
    }

    public float getGpa() {
        return gpa;
    }

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

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

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

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

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

    @Override
    public String toString() {
        return "Student{" + "name=" + name + ", address=" + address + ", id=" + id + ", age=" + age + ", gpa=" + gpa + '}';
    }
    
    public void input() {
        Scanner scan = new Scanner(System.in);
        
        System.out.println("Nhap id: ");
        id = Integer.parseInt(scan.nextLine());
        
        System.out.println("Nhap ten: ");
        name = scan.nextLine();
        
        System.out.println("Nhap tuoi: ");
        age = Integer.parseInt(scan.nextLine());
        
        System.out.println("Nhap dia chi: ");
        address = scan.nextLine();
        
        System.out.println("Nhap DTB: ");
        gpa = Float.parseFloat(scan.nextLine());
        
    }
    
    public void display() {
        System.out.println(this);
    }

    void removeStudent(int id) {
    }
    
    public String getLine() {
        return id + "," + name + "," + age + "," + address + "," + gpa + "\n";
    }
    
    public void parse(String line) {
        String[] params = line.split(",");
        
        try {
            id = Integer.parseInt(params[0]);
            name = params[1];
            age = Integer.parseInt(params[2]);
            address = params[3];
            gpa = Float.parseFloat(params[4]);
        } catch(ArrayIndexOutOfBoundsException ex) {
        } finally {
        }
    }
    
    
    
}


Triệu Văn Lăng [T2008A]

Ngày viết: 15:37 16/03/2021



/*
 * 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 bai1071;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author MTLS
 */
public class Main {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        ArrayList<Student> studentList = new ArrayList<>();
        int choose;
        do {
            showMenu();
            choose = Integer.parseInt(scan.nextLine());
            switch (choose) {

                case 0:
                    System.out.println("Exit");
                    break;
                case 1:
                    System.out.println("Nhap so sinh vien muon them: ");
                    int n = Integer.parseInt(scan.nextLine());
                    for (int i = 0; i < n; i++) {
                        Student std = new Student();
                        std.input();
                        studentList.add(std);
                    }
                    break;
                case 2:
                    System.out.println("Nhap id sinh vien can sua: ");
                    int ids = Integer.parseInt(scan.nextLine());
                    Student stdF = studentList.get(ids);
                    Student std = new Student();
                    if (stdF != null) {
                        System.out.println("Da tim thay sinh vien co id: " + ids);
                        std.input();
                    } else {
                        System.out.println("Khong tim thay sinh vien co id: " + ids);
                    }

                    break;
                case 3:
                    System.out.println("Nhap id sinh vien can xoa: ");
                    int id = Integer.parseInt(scan.nextLine());
                    for (Student student : studentList) {
                        if (student.getId() == id) {
                            studentList.remove(id);
                            return;
                        }
                    }
                    break;
                case 4:
                    Collections.sort(studentList, new Comparator<Student>() {
                        @Override
                        public int compare(Student o1, Student o2) {
                            if (o1.getGpa() > o2.getGpa()) {
                                return -1;
                            }
                            return 1;
                        }
                    });
                    break;
                case 5:
                    Collections.sort(studentList, (Student o1, Student o2) -> o1.getName().compareToIgnoreCase(o2.getName()));
                    break;
                case 6:
                    System.out.println("Thong tin sinh vien: ");
                    studentList.forEach((student) -> {
                        student.display();
                    });

                    break;
                case 7:
                    FileOutputStream fos = null;
                     {
                        try {
                            //                    File file = new File("QLStudent.txt");
                            fos = new FileOutputStream("Student.txt");
                            for (Student student : studentList) {
                                String line = student.getLine();
                                try {
                                    byte[] b = line.getBytes("utf8");
                                    try {
                                        fos.write(b);
                                    } catch (IOException ex) {
                                        Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                                    }
                                } catch (UnsupportedEncodingException ex) {
                                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                                }
                            }
                        } catch (FileNotFoundException ex) {
                            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                        } finally {
                            if (fos != null) {
                                try {
                                    fos.close();
                                } catch (IOException ex) {
                                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                                }
                            }
                        }
                    }

                    break;
                case 8:
                    FileInputStream fis = null;
                    InputStreamReader reader = null;
                    BufferedReader brd = null;
                     {
                        try {
                            fis = new FileInputStream("Student.txt");
                            reader = new InputStreamReader(fis, StandardCharsets.UTF_8);
                            brd = new BufferedReader(brd);
                            String line = null;
                            while ((line = brd.readLine()) != null) {
                                if (line.isEmpty()) {
                                    continue;
                                }
                                Student std1 = new Student();
                                std1.parse(line);
                                studentList.add(std1);
                            }

                        } catch (FileNotFoundException ex) {
                            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                        } catch (IOException ex) {
                            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                        } finally {
                            if (fis != null) {
                                try {
                                    fis.close();
                                } catch (IOException ex) {
                                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                                }
                            }
                            if (reader != null) {
                                try {
                                    reader.close();
                                } catch (IOException ex) {
                                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                                }
                            }
                            if (brd != null) {
                                try {
                                    brd.close();
                                } catch (IOException ex) {
                                    Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                                }
                            }
                        }
                    }

                    break;
                default:
                    System.out.println("Vui long nhap lai");
                    break;

            }
        } while (choose != 0);
    }

    private static void showMenu() {
        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. Save file");
        System.out.println("8. Read file and display");
        System.out.println("0. Exit");

    }

}


Phân Loại Bài Viết

Tài Liệu Tham Khảo

Đã sao chép!!!