Code Java Quản Lý Sinh Viên Bằng Java, Bài Tập Quản Lý Sinh Viên Trong Java

JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.

Bạn đang xem: Code java quản lý sinh viên

*

Assignment 04Xây dựng một chương trình “Quản lý sinh viên” với Java bằng cách xây dựng các lớp sau:SinhVien.java-Gồm các instance variable masv, hoten, gioitinh, diemtoan, diemly, diemhoa với các kiểu dữ liệu phù hợp-Xây dựng các constructor không tham số (mặc định) và có tham số.-Xây dựng các phương thức set/get cho từng biến.-Xây dựng các phương thức inputSinhVien/displaySinhVien để nhập và hiển thị thông tin về sinh viênSinhVienTest.java -Đây là một main class.-Chương trình được tổ chức theo hệ thống menu chức năng như sau:1. Nhập một sinh viên mới.2. Xem danh sách sinh viên.3. Sắp xếp danh sách theo thứ tự tăng dần theo tongdiem 4. Kiểm tra xem danh sách đã sắp xếp theo tongdiem hay chưa.5. Tìm kiếm tuyến tính theo tongdiem.6. Sửa tên sinh viên có mã được nhập từ bàn phím.7. Xóa sinh viên có masv = xMasv (nhập từ bàn phím).8. Chèn một sinh viên vào danh sách đã sắp xếp sao tính sắp xếp vẫn được bảo tồn. 0. Kết thúc.Hãy khai báo một mảng đối tượng objSinhVien để lưu danh sách các sinh viên. Mảng có cỡ cực đại là max được định nghĩa trước (ví dụ final int max = 100). Biến nguyên count chỉ số sinh viên hiện có trong mảng (ban đầu count = 0, tức là mảng còn rỗng).Chú ý:-tongdiem = diemtoan + diemly + diemhoa-Sử dụng các khối try… catch và assertion hợp lý để quản lý các exception có thể xảy ra đối với dữ liệu nhập vào bởi người dùng.-Viết một phương thức checkSinhVien trong lớp SinhVienTest với tham số đầu vào là masv để kiểm tra xem một mã sinh viên đã tồn tại trong danh sách hay chưa. Phương thức trả về true nếu đã tồn tại, false nếu chưa. Sử dụng phương thức này trong các chức năng nếu cần.-Các chức năng có thể được thực hiện trực tiếp trong các mục chọn của menu hoặc viết các phương thức tương ứng trong lớp SinhVienTest rồi gọi các phương thức ứng với từng chức năng.
Click to expand…
Đây là bài mình làm:Class Count dùng để lưu số lượng sinh viên:
PHP:

Xem thêm: Vị Tai Vị Là Gì ? Cách Xác Định, Cấm Kỵ Và Phong Thủy Hóa Giải

package quanlysinhvien;public class Count{ private int n; public int getN() { return n; } public void setN(int n) { this.n = n; } public Count() { this(0); } public Count(int n) { this.n = n; }}
package quanlysinhvien;import java.util.Scanner;import java.io.*;public class SinhVien{ //Field private String maSV; private String gioiTinh; private String hoTen; private double diemToan; private double diemLy; private double diemHoa; //Property 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 String getGioiTinh() { return gioiTinh; } public void setGioiTinh(String gioiTinh) { this.gioiTinh = gioiTinh; } public double getDiemToan() { return diemToan; } public void setDiemToan(double diemToan) { this.diemToan = diemToan; } public double getDiemLy() { return diemLy; } public void setDiemLy(double diemLy) { this.diemLy = diemLy; } public double getDiemHoa() { return diemHoa; } public void setDiemHoa(double diemHoa) { this.diemHoa = diemHoa; } //Paramater public SinhVien() { this(“”, “”, “”, 0, 0, 0); } public SinhVien(String maSV, String hoTen, String gioiTinh, double diemToan, double diemLy, double diemHoa) { this.maSV = maSV; this.hoTen = hoTen; this.gioiTinh = gioiTinh; this.diemToan = diemToan; this.diemLy = diemLy; this.diemHoa = diemHoa; } //Method //Check Error// public static void printError(Exception ex)// {// System.out.println(“Dữ liệu bạn nhập vào bị lỗi. Lỗi: ” + ex.getMessage());// } //Input data public void inputSinhVien()throws Exception { Scanner input = new Scanner(System.in); BufferedReader inputBuffer = new BufferedReader(new InputStreamReader(System.in)); try { do { System.out.print(“nBạn nhập vào mã sinh viên (mã không được trùng, nhỏ hơn hoặc bằng 10 ký tự và không chứa các ký tự đặc biệt): “); setMaSV(inputBuffer.readLine()); } while(!ThaoTac.checkID(maSV)); do { System.out.print(“Bạn nhập vào họ và tên sinh viên (Lớn hơn hoặc bằng 5 ký tự): “); setHoTen(inputBuffer.readLine()); } while(!ThaoTac.checkFullName(hoTen)); do { System.out.print(“Bạn nhập vào giới tính cho sinh viên (không được để trống, giới tính chỉ có thể là nam hoặc nữ): “); setGioiTinh(inputBuffer.readLine()); } while(!ThaoTac.checkSex(gioiTinh)); do { System.out.print(“Bạn nhập vào điểm toán cho sinh viên (điểm toán phải >= 0 và = 0 và = 0 và
package quanlysinhvien;import java.util.Scanner;public class SinhVienTest{ //Function print line public static void printLine() { System.out.println(); for(int i = 1; i
package quanlysinhvien;import java.util.Scanner;public class ThaoTac{ //Function print with format public static void printFormat() { System.out.println(); for (int i = 1; i 0) { for(int i = 0; i z, A -> Z và 0 -> 9 độ dài = 10 if(s.matches(“^(\w{0,9})$”)) { return true; } else { return false; } } catch(Exception ex) { throw ex; } } //Function check hoTen public static boolean checkFullName(String s) throws Exception { try { //kiểm tra họ tên, họ tên chỉ chứa các ký tự từ a -> z và A -> Z if(s.matches(“{5,40}”)) { return true; } else { return false; } } catch(Exception ex) { throw ex; } } //Function check sex public static boolean checkSex(String s) throws Exception { try { //Kiểm tra giới tính, giới tính chỉ có thể là nam hoặc nu không phân biệt hoa thường. if(s.equalsIgnoreCase(“nam”) || s.equalsIgnoreCase(“nu”)) { return true; } else { return false; } } catch(Exception ex) { throw ex; } } //Function check point public static boolean checkPoint(double point) throws Exception { try { //Kiểm tra điểm, điểm chỉ được lơn hơn hoặc bằng 0 và nhỏ hơn hoặc bằng 10 if(point >= 0 && point = 100); for(int i = 0; i 0) { printTile(); //in ra tất cả các học sinh có tổng điểm bằng với điểm nhập vào. for(int i = 0; i = 0) { do { System.out.printf(“nBạn nhập vào thông sinh viên (nã sinh viên phải là “%s”): “, ID); temp.inputSinhVien();//đối tượng gán tạm dữ liệu standardized(temp);//chuẩn hóa thông tin được nhập vào } while(!checkAll(temp) || !ID.equalsIgnoreCase(temp.getMaSV())); sinhVien = temp;//nếu đúng thì gán thông tin cho sinh viên ở vị trí trùng với vị trí đã lấy ở trên } else { System.out.printf(“Không có sinh viên nào có mã “%s”.”, ID); } } catch(Exception ex) { throw ex; } } //Function remove student public static void removeAt(SinhVien sinhVien, Count n) throws Exception { Scanner input = new Scanner(System.in); String ID; int location; try { System.out.println(“nBạn nhập vào mã sinh viên cần xóa: “); ID = input.nextLine(); removeSpace(ID, true); location = checkIDExists(sinhVien, ID, n.getN());//lấy vị trí của học sinh trong danh sách có ID bằng ID nhập vào if(location >= 0) { n.setN(n.getN() – 1);//giảm số lượng học sinh đi 1 đơn vị //bắt đầu gán lại thông tin cho các học sinh từ vị trí thứ i tới n – 1. for(int i = location; i = sum(sinhVien)) { for(int i = n.getN() – 1; i >= 0; i–) { sinhVien = sinhVien; } sinhVien = temp; } else { for(int i = n.getN() – 1; i >= 0; i–) { sinhVien = sinhVien; if(sum(temp) >= sum(sinhVien) && sum(temp) 0) { do { System.out.print(“nTrong danh sách đã có sinh viên bạn muốn nhập lại hay tiếp tục thêm? (nhập lại: new, tiếp tục: continue, thoát: cancel): “); Continue = input.next(); } while(!checkContinue(Continue)); if(Continue.equalsIgnoreCase(“Continue”)) { addSinhVien(sinhVien, n); } else if(Continue.equalsIgnoreCase(“new”)) { inputSinhVien(sinhVien, n); } } else { inputSinhVien(sinhVien, n); } } catch(Exception ex) { throw ex; } } //Function create sinhVien public static void createSinhVien(SinhVien sinhVien, Count n) { n.setN(10); for (int i = 0; i
Ở trên là bài mình làm các bạn xem nếu có sai sót gì thì chỉ mình với nha. Hj` thanks all.P/S: Sao mình upload project lên mà không được nhỉ? File .rar chỉ có 23kb thôi mà?