Wednesday, April 27, 2016

Bài tập lập trình hướng đối tượng với Java (Số 5)

//Họ Tên: Trần Văn Linh
//MaSV:581597
//Lớp:K58QLTT

Đề:
Thư viện của trường đại học KHTN có nhu cầu cần quản lý việc mượn sách. Sinh viên đăng ký và tham
gia mượn sách thông qua các thẻ mượn mà thư viện đã thiết kế.
- Với mỗi thẻ mượn, có các thông tin sau: số phiếu mượn , ngày mượn, hạn trả , số hiệu sách, và các thông tin riêng về mỗi sinh viên đó.
- Các thông tin riêng về mỗi sinh viên đó bao gồm: Họ tên, MSV, ngày sinh, lớp.
1. Hãy xây dựng lớp SinhVien để quản lý các thông tin riêng về mỗi sinh viên.
2. Xây dựng lớp TheMuon để quản lý việc mượn sách của mỗi đọc giả.
3. Xây dựng các phương thức để nhập và hiện thị các thông tin riêng cho mỗi sinh viên
4. In ra danh sách sinh viên, tên sách mượn cần trả vào ngày cuối tháng

--------------------------------------------------------------------------------------------------------------------------

 Giải:
//Lớp SinhVien
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class SinhVien
{
    private String hoTen;
    private String mSV;
    private Date ngaySinh;
    private String lop;
 
    public SinhVien()
    {
     
    }
    public SinhVien(String hoTen,String mSV,Date ngaySinh,String lop)
    {
        this.hoTen=hoTen;
        this.mSV=mSV;
        this.ngaySinh=ngaySinh;
        this.lop=lop;
    }
    public void nhapThongTin() throws Exception
    {
        Scanner sc=new Scanner(System.in);
        System.out.print("Nhap ho ten: ");
        this.hoTen=sc.nextLine();
        System.out.print("Nhap ma sinh vien :");
        this.mSV=sc.nextLine();
        System.out.print("Nhap ngay sinh(dd-MM-yy):");
        String ns=sc.nextLine();
        DateFormat df=new SimpleDateFormat("dd-MM-yy");
        this.ngaySinh= df.parse(ns);
        System.out.print("Nhap lop: ");
        this.lop=sc.nextLine();
    }
    public void hienThongTin()
    {
        System.out.println("Ho va ten: "+this.hoTen);
        System.out.println("Ma sinh vien: "+this.mSV);
        System.out.println("Ngay sinh: "+this.ngaySinh);
        System.out.println("Lop : "+this.lop);
    }
 
    public String getHoTen()
    {
        return this.hoTen;
    }
    public String getMSV()
    {
        return this.mSV;
    }
    public Date getNgaySinh()
    {
        return this.ngaySinh;
    }
    public String getLop()
    {
        return this.lop;
    }
}
//Lớp TheMuon
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Scanner;
import java.util.ArrayList;
import java.io.PrintWriter;
public class TheMuon
{
    private int sPMuon;
    private Date ngayMuon;
    private Date ngayTra;
    private String soHieuSach;
    private SinhVien sv;
    public TheMuon()
    {
        
    }
    public TheMuon(int sPMuon,Date ngayMuon,Date ngayTra,String soHieuSach,SinhVien sv)
    {
        this.sPMuon=sPMuon;
        this.ngayMuon=ngayMuon;
        this.ngayTra=ngayTra;
        this.soHieuSach=soHieuSach;
        this.sv=sv;
    }
    
    public void nhapThongTin() throws Exception
    {
        this.sv=new SinhVien();
        this.sv.nhapThongTin();
        Scanner sc=new Scanner(System.in);
        System.out.print("Nhap so phieu muon:");
        this.sPMuon=sc.nextInt();
        sc.nextLine();
        System.out.print("Nhap so hieu sach: ");
        this.soHieuSach=sc.nextLine();
        this.ngayMuon=new Date();
        System.out.print("Nhap ngay tra:(dd-mm-yy): ");
        String ngt=sc.nextLine();
        DateFormat df=new SimpleDateFormat("dd-MM-yy");
        this.ngayTra=df.parse(ngt);
    }
    public int getNgayTra()
    {
        return this.ngayTra.getDate();
    }
    public void hienThongTin()
    {
        sv.hienThongTin();
        System.out.println("Ten sach tra: "+this.soHieuSach);
    }
  
    public static void main(String[] args) throws Exception
    {
        ArrayList<TheMuon> ds=new ArrayList<TheMuon>();
        Scanner sc=new Scanner(System.in);
        int dem=0;
        char c;
        do
        {
            System.out.println("Nhap thong tin the muon thu "+(dem+1)+" :");
            TheMuon tg=new TheMuon();
            tg.nhapThongTin();
            ds.add(tg);
            dem++;
            System.out.print("Co muon nhap nua khong (Y/N): ");
            c=sc.nextLine().charAt(0);
        }while(c=='y'||c=='Y');
        System.out.println("=============================================");
        for(int i=0;i<ds.size();i++)
            if(ds.get(i).getNgayTra()==30)
                ds.get(i).hienThongTin();
    }
    
}

0 comments:

Post a Comment