Trong bài viết này, chúng ta sẽ tìm hiểu cách xây dựng chương trình nhập và xuất danh sách sinh viên ra màn hình kiểu mảng thông qua ví dụ bài tập quản lý sinh viên java. Bắt đầu thôi!!!
Xem thêm:
- Bài thực hành 3: tính diện tích tam giác theo công thức Heron java
- Bài thực hành 5: Viết chương trình tính diện tích chu vi hình chữ nhật java
- Bài thực hành 6: Nhập xuất danh sách kiểu mảng
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.
2. Code hoàn chỉnh quản lý 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. Giải thích chức năng của chương trình
- Menu Chức Năng:
- Hiển thị danh sách các tùy chọn.
- Các chức năng chính bao gồm: nhập, xuất danh sách, tính toán, sắp xếp và tìm kiếm.
- Nhập và Xuất Danh Sách Học Sinh:
- Cho phép thêm thông tin sinh viên vào danh sách.
- Xuất danh sách sinh viên ra màn hình để kiểm tra.
- Tính Tổng Tiền Bán Trú:
- Tính tổng tiền dựa trên số buổi ăn của từng sinh viên và chi phí quy định.
- Sắp Xếp Danh Sách:
- Sắp xếp sinh viên theo thứ tự tăng dần dựa trên tiêu chí (ví dụ: tên, số buổi ăn).
- In Danh Sách Học Sinh Ăn Trên 20 Buổi:
- Lọc và hiển thị những sinh viên có số buổi ăn lớn hơn 20.
4. Kết quả chạy chương trình
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: