06/04/2021, 14:47

Bài tập Java OOP: Chương trình quản lý sinh viên Java - Bài tập Java có lời giải cơ bản đến nâng cao

Trong bài tập này chúng ta sẽ thực hiện chương trình quản lý sinh viên bằng ngôn ngữ Java. Đây là một bài tập khá đơn giản, chỉ nhập xuất thông tin và khởi tạo các phương thức cơ bản, nếu các bạn đã có kiến thức nền tảng về ngôn ngữ Java thì với bài tập này các bạn sẽ giải quyết rất nhanh chóng. ...

Trong bài tập này chúng ta sẽ thực hiện chương trình quản lý sinh viên bằng ngôn ngữ Java.

Đây là một bài tập khá đơn giản, chỉ nhập xuất thông tin và khởi tạo các phương thức cơ bản, nếu các bạn đã có kiến thức nền tảng về ngôn ngữ Java thì với bài tập này các bạn sẽ giải quyết rất nhanh chóng.

Đề bài: Chương trình quản lý sinh viên.

Viết chương trình xây dựng đối tượng Sinh viên gồm có các thuộc tính sau:

  • Mã sinh viên là số nguyên.
  • Họ tên: chuỗi ký tự.
  • Địa chỉ: chuỗi ký tự.
  • Số điện thoại: là số bao gồm 7 chữ số.

Các thuộc tính khai báo private, định nghĩa các phương thức get/set cho từng thuộc tính

Viết các constructor để khởi tạo đối tượng (constructor mặc định, constructor có tham số).

Override phương thức toString của lớp Object.

Xây dựng lớp cho phép nhập vào N sinh viên (dùng mảng). Xuất danh sách trên ra màn hình theo thứ tự tăng dần của mã sinh viên.

Chương trình quản lý sinh viên.

Hướng dẫn:

Chúng ta sẽ đi lần lượt các yêu cầu của đề bài:

  • Tạo class SinhVienNhap với các thuộc tính: maSV, hoTen, diaChi, sTD.
  • Khởi tạo các constructor mặc định và constructor có tham số.
  • Khởi tạo các phương thức getter và setter.
  • Khởi tạo phương thức toString để hiển thị kết quả dưới dạng chuỗi.
  • Tạo class Main để nhập vào số lượng sinh viên và các thông tin của sinh viên.
  • Xuất thông tin của sinh viên theo thứ tự tăng dần của mã sinh viên.
SinhVienNhap.java
import java.util.Scanner;

public class SinhVienNhap {
    private int maSV;
    private String hoTen;
    private String diaChi;
    private String sTD;

    //khởi tạo constructor mặc định
    public SinhVienNhap() {

    }
    //khởi tạo constructor có tham số
    public SinhVienNhap(int maSV, String hoten, String diaChi, String sTD) {
        this.maSV = maSV;
        this.hoTen = hoTen;
        this.diaChi = diaChi;
        this.sTD = sTD;
    }
    //--------------begin getter and setter--------------------
    public int getMaSV() {
        return maSV;
    }

    public void setMaSV(int maSV) {
        this.maSV = maSV;
    }

    public String getHoten() {
        return hoTen;
    }

    public void setHoten(String hoten) {
        this.hoTen = hoten;
    }

    public String getDiaChi() {
        return diaChi;
    }

    public void setDiaChi(String diaChi) {
        this.diaChi = diaChi;
    }

    public String getsTD() {
        return sTD;
    }

    public void setsTD(String sTD) {
        this.sTD = sTD;
    }
    //--------------end getter and setter--------------------
    ///khởi tạo phương thức toString
    @Override
    public String toString() {
        return "SinhVienNhap{" +
                "maSV=" + maSV +
                ", hoten='" + hoTen + ''' +
                ", diaChi='" + diaChi + ''' +
                ", sTD='" + sTD + ''' +
                '}';
    }
    //khởi tạo phương thức hiển thị theo format
    public void hienThiTT() {
        System.out.printf("%-5d %-20s %-15s %-15s 
", maSV, hoTen, diaChi, sTD);
    }
}
Main.java
import java.util.Arrays;
import java.util.Scanner;

public class Main {
    static Scanner sc = new Scanner(System.in);
    static void nhapThongTinh(SinhVienNhap tt) {
        System.out.println("Nhập mã số sinh viên: ");
        tt.setMaSV(sc.nextInt());
        ;
        sc.nextLine();
        System.out.println("Nhập họ và tên sinh viên: ");
        tt.setHoten(sc.nextLine());
        System.out.println("Nhập địa chỉ sinh viên: ");
        tt.setDiaChi(sc.nextLine());
        do {
            System.out.println("Nhập số điện thoại bao gồm 7 số: ");
            tt.setsTD(sc.nextLine());
        } while (tt.getsTD().length() != 7);
    }

    public static void main(String[] args) {
        SinhVienNhap sv[] = null;
        int a, n = 0;
        boolean flag = true;
        do {
            System.out.println("Bạn chọn làm gì?");
            System.out.println("1.Nhập thông tin sinh viên. 
" +
                    "2.Xuất bản danh sách sinh viên.
" +
                    "Nhập số khác để thoát");
            a = sc.nextInt();
            switch (a) {
                case 1:
                    System.out.println("Nhập số lương sinh viên cần khai báo: ");
                    n = sc.nextInt();
                    sv = new SinhVienNhap[n];
                    for (int i = 0; i < n; i++) {
                        System.out.println("Sinh viên thứ " + (i + 1)+": ");
                        sv[i] = new SinhVienNhap();
                        nhapThongTinh(sv[i]);

                    }

                    break;
                case 2:
                    SinhVienNhap temp = sv[0];
                    for (int i = 0; i < sv.length - 1; i++) {
                        for (int j = i + 1; j < sv.length; j++) {
                            if (sv[i].getMaSV() > sv[j].getMaSV()) {
                                temp = sv[j];
                                sv[j] = sv[i];
                                sv[i] = temp;
                            }
                        }
                    }
                    System.out.printf("%-5s %15s %15s %20s 
", "MSSV", "Họ và tên", "Địa chỉ", "Số điện thoại");
                    for (int i = 0; i < n; i++) {
                        sv[i].hienThiTT();
                    }
                    break;
                default:
                    System.out.println("Goodbye");
                    flag = false;
                    break;
            }
        } while (flag);
    }
}

Kết quả: Sau khi nhập đầy đủ các thông tin cho sinh viên:

sinh vien 1 PNG

Kết quả: Xuất thông tin sinh viên và sắp xếp theo thứ tự tăng dần:

sinh vien 2 PNG

Như vậy là chúng ta đã thực hiện xong chương trình quản lý sinh viên. Chúc các bạn thực hiện thành công!!!

Tạ Quốc Bảo

23 chủ đề

7270 bài viết

Cùng chủ đề
0