Chương trình quản lý sinh viên Java ArrayList – Full Code

Trong bài viết này, chúng ta sẽ khám phá cách nhập và xuất danh sách sinh viên ra màn hình kiểu mảng qua bài tập quản lý sinh viên java. Bắt đầu thôi!!!

Xem thêm:

1. Bài toán quản lý sinh viên java

Bài 4 (TH-LTHDT-01): Cho thông tin của SINHVIEN gồm: mã số sinh viên, họ tên, lớp, số buổi ăn bán trú. Viết chương trình theo hướng đối tượng để quản lý danh sách SINH VIÊN với các yêu cầu sau:

  • Nhập danh sách sinh viên.
  • In danh sách sinh viên.
  • Tính tổng tiền bán trú của tất cả các sinh viên(tiền bán trú=số buổi ăn bán trú *30000)
  • Sắp xếp danh sách sinh viên theo thứ tự tăng dần của tiền ăn bán trú.
  • Thực hiện in danh sách tên các sinh viên có số buổi ăn bán trú trên 20 buổi.

Liên quan: viết chương trình nhập họ tên một học sinh c++

2. Code cài đặt chương trình nhập xuất danh sách sinh viên

2.1 Lớp SINHVIEN

package bai4;

import java.util.Scanner;

public class HocSinh {
    int maHS;
    String HoTen;
    String Lop;
    int sobuoiAn;
    float sotienAn;
    public void nhapDS(){
        Scanner sc = new Scanner(System.in);
        System.out.println("Nhap ma hoc sinh: ");
        maHS= sc.nextInt();
        System.out.println("Nhap ho ten hoc sinh: ");
        sc.nextLine();
        HoTen= sc.nextLine();
        System.out.println("Nhap so buoi an ban tru: ");
        sobuoiAn= sc.nextInt();
        sotienAn= sobuoiAn*30000;
    }
    
    public void xuatHS(){
        System.out.println(maHS+ "\t"+HoTen+"\t"+sobuoiAn+"\t"+sotienAn);
    }
}

2.2 Lớp DANH SÁCH SINH VIEN

package bai4;

import java.util.Scanner;

public class DanhSachHocSinh {
   HocSinh ds[];
   int n;
   float sum=0;
   public void nhapds(){
       Scanner sc = new Scanner(System.in);
       System.out.println("Nhap so luong hoc sinh: ");
       n= sc.nextInt();
       ds= new HocSinh[n];
       for (int i=0;i<n;i++){
           ds[i]= new HocSinh();
           ds[i].nhapDS();
       }
   }
   
   public void xuatds(){
       for(int i=0;i<n;i++){
           ds[i].xuatHS();
       }
   }
   
   public void TongTien(){
       for(int i=0;i<n;i++){
           sum= sum+ ds[i].sotienAn;
       }
       System.out.println("Tong so tien an cua tat ca hoc sinh là: "+ sum);
   }
   
   public void Sapxep(){
       HocSinh tg;
       for (int i=0;i<n;i++){
           for (int j=i+1;j<n;j++){
               if(ds[i].sotienAn<ds[j].sotienAn){
                   tg=ds[i];
                   ds[i]=ds[j];
                   ds[j]=tg;
               }
           }
       }
       xuatds();
   }
   
   public void DSHSsobuoian20(){
       int dem=0;
       for(int i=0;i<n;i++){
           if(ds[i].sobuoiAn>20){
               dem=1;
               break;
           }
       }
       if(dem==1){
            System.out.println("Ten hoc sinh co so buoi an ban tru tren 20 buoi la: ");
            for(int i=0;i<n;i++){
                if(ds[i].sobuoiAn>20){
                    System.out.println(ds[i].HoTen);
                }
            }
       }else{
           System.out.println("Khong co hoc sinh nao co so buoi an tren 20");
       }
   }
}

2.3 Lớp MAIN

/*
Cho thông tin của học sinh gồm mã học sinh, họ tên, lớp, buổi ăn bán trú. Viết chương trình theo hướng đối tượng để quản lý học sinh với danh sách yêu cầu sau:
Nhập danh sách học sinh
In lại danh sách học sinh
Tính tổng tiền của tất cả học sinh
Sắp xếp học sinh theo thứ tự tăng dần theo tiền ăn bán trú
Thực hiện in danh sách tên các học sinh có số buổi bán trú trên 20
 */
package bai4;

import java.util.Scanner;

public class Bai4 {
    public static void menu(){
        System.out.println("1.Nhap danh sach hoc sinh");
        System.out.println("2.Xuat danh sach hoc sinh");
        System.out.println("3.Tinh tong tien ban tru");
        System.out.println("4.Sap xep danh sach hoc sinh theo thu tu tang dan");
        System.out.println("5.In cac ten hoc sinh co so buoi an tren 20 buoi");
        System.out.println("0.Thoat");
    }
    public static void main(String[] args) {
       DanhSachHocSinh ds = new DanhSachHocSinh();
       int chon;
        do {            
            menu();
            Scanner sc = new Scanner(System.in);
            System.out.println("Lựa chọn: ");
            chon= sc.nextInt();
            switch(chon){
                case 1: ds.nhapds(); break;
                case 2: ds.xuatds();break;
                case 3: ds.TongTien();break;
                case 4: ds.Sapxep();break;
                case 5: ds.DSHSsobuoian20();break;
                case 0: System.exit(0); break;
                default: break;
            }
        } while (chon!=0);
    }
}

3. Kết quả chạy chương trình

Quản lý sinh viên java

Full source code:

Thông qua ví dụ về nhập và xuất danh sách sinh viên, chúng ta đã biết cách thêm, in ra màn hình, sắp xếp và truy xuất các phần tử trong danh sách. Cảm ơn các bạn đã tham khảo bài tập lập trình hướng đối tượng java trên ttnguyen.net.

Bài viết liên quan:

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em