[Demo]Sắp xếp danh sách sinh viên theo điểm thi

JackV

Administrator
Staff member
Vấn đề sắp xếp danh sách sinh viên theo điểm thi mình hiện thực thế này, các bạn mới đến với java có thắc mắc cứ thoải mái nêu ra để trao đổi nhé. Mình làm luôn phần đánh giá xếp loại
PHP:
class Student{
    public Student(){}
    public Student(String name, int mark){
        this.name = name;
        this.mark = mark;
    }
    private String name;
    private int mark;
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }
    public void setMark(int mark){
        this.mark = mark;
    }
    public int getMark(){
        return mark;
    }
}
PHP:
import java.util.*;
public class SortVectorByStudentMark
{
//    public static void main(String args[])
    public static void main(String[] args)
    {
        Random rd = new Random(); //Doi tuong dung de phat sinh gia tri ngau nhien
        //tao 10 sinh vien voi so diem ngau nhien
        Vector<Student> vStudent = new Vector();
        System.out.println("Nhap ngau nhien 10 sinh vien");
        for (int i = 1; i <= 10; i++){
            String name = "Student " + i;
            int mark = rd.nextInt(10);//lay gia tri ngau nhien trong khoang 10
            vStudent.add(new Student(name, mark));
            System.out.println(name + " - " + mark); //in kiem tra cac student da tao
        }
        //Sap xep theo diem
        Collections.sort(vStudent, new Comparator() {
            public int compare(Object a, Object b) {
                return (new Integer(((Student) a).getMark())).compareTo(new Integer(((Student) b).getMark()));
            }
        });
        System.out.println("\r\nIn danh sach theo diem tu nho den lon");
        for (Student st : vStudent) {
            System.out.println(st.getName() + " with mark " + st.getMark() + " is "
                + (st.getMark() >=9 ? "OUT STANDING" : st.getMark() >=7 ? "EXCELLENT" : st.getMark() >=6 ? "GOOD" : st.getMark() >=5 ? "Average" : "going to bad"));
        }

        Collections.reverse(vStudent);//dao nguoc danh sach
        System.out.println("\r\nIn danh sach theo diem tu lon den nho");
        for (Student st : vStudent) {
            System.out.println(st.getName() + " with mark " + st.getMark() + " is "
                + (st.getMark() >=9 ? "OUT STANDING" : st.getMark() >=7 ? "EXCELLENT" : st.getMark() >=6 ? "GOOD" : st.getMark() >=5 ? "Average" : "going to bad"));
        }
    }

}
J:\_congdongjava.com\cmd>javac SortVectorByStudentMark.java
Note: SortVectorByStudentMark.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

J:\_congdongjava.com\cmd>java SortVectorByStudentMark
Nhap ngau nhien 10 sinh vien
Student 1 - 6
Student 2 - 3
Student 3 - 4
Student 4 - 4
Student 5 - 4
Student 6 - 6
Student 7 - 8
Student 8 - 1
Student 9 - 8
Student 10 - 9

In danh sach theo diem tu nho den lon
Student 8 with mark 1 is going to bad
Student 2 with mark 3 is going to bad
Student 3 with mark 4 is going to bad
Student 4 with mark 4 is going to bad
Student 5 with mark 4 is going to bad
Student 1 with mark 6 is GOOD
Student 6 with mark 6 is GOOD
Student 7 with mark 8 is EXCELLENT
Student 9 with mark 8 is EXCELLENT
Student 10 with mark 9 is OUT STANDING

In danh sach theo diem tu lon den nho
Student 10 with mark 9 is OUT STANDING
Student 9 with mark 8 is EXCELLENT
Student 7 with mark 8 is EXCELLENT
Student 6 with mark 6 is GOOD
Student 1 with mark 6 is GOOD
Student 5 with mark 4 is going to bad
Student 4 with mark 4 is going to bad
Student 3 with mark 4 is going to bad
Student 2 with mark 3 is going to bad
Student 8 with mark 1 is going to bad

J:\_congdongjava.com\cmd>pause
Press any key to continue . . .
 

Tuan3T

New Member
15/10/19
1
0
1
25
Mong add giúp đỡ
  1. Tạo ra 1 màn hình có chỗ
    - Nhập tên sinh viên
    - Nhập mã sinh viên
    - Nhập điểm môn toán
    - Nhập điểm môn Văn
    - Có 1 nút submit , và 1 nút reset
  2. Sau khi nhập, bấm submit -> sinh viên này đc lưu vào database, nếu sinh viên này đã đc nhạp rồi thì đưa thôg báo: Sinh viên đã tồn tại.
    - hiển thị tất cả các sinh viên
    - bên cạnh sinh viên có chức năng: Update, Delete
    - Bấm Update -> có thể update đc thông tin sinh viên ý
    - Bấm delete thì delete sinh viên ý
    3. Bấm reset thì thông tin nhập sẽ mất hết và nhập từ đaauf