Wednesday, April 27, 2016

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

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

Đề :

   Để quản lý các hộ dân trong một khu phố, người ta quản lý các thông tin như sau:
- Với mỗi hộ dân, có các thuộc tính:
+ Số thành viên trong hộ ( số người)
+ Số nhà của hộ dân đó. ( Số nhà được gắn cho mỗi hộ dân)
+ Thông tin về mỗi cá nhân trong hộ gia đình.
- Với mỗi cá nhân, người ta quản lý các thông tin như: họ và tên, ngày  sinh, nghề nghiệp.
1. Hãy xây dựng lớp Nguoi để quản lý thông tin về mỗi cá nhân.
2. Xây dựng lớp KhuPho để quản lý thông tin về các hộ gia đình.
3. Viết các phương thức nhập, hiển thị thông tin cho mỗi cá nhân.
4. Cài đặt chương trình thực hiện các công việc sau:
- Nhập vào một dãy gồm n hộ dân (n - nhập từ bàn phím).
- Hiển thị ra màn hình thông tin về các hộ trong khu phố năm nay có người mừng thượng thọ (80 tuổi)

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

      Giải:

//Lớp Người
import java.util.Scanner;
import java.util.Date;
import java.text.SimpleDateFormat;
public class Nguoi
{
    private String hoTen;
    private Date ngaySinh;
    private String ngNghiep;
    
    public Nguoi()
    {
    }
    public Nguoi(String hoTen,Date ngaySinh,String ngNghiep)
    {
        this.hoTen=hoTen;
        this.ngaySinh=ngaySinh;
        this.ngNghiep=ngNghiep;
    }
    
    public void nhapThongTin(Scanner sc)
    {
        System.out.print("Nhap ho ten: ");
        this.hoTen=sc.nextLine();
        System.out.print("Nhap ngay sinh theo dinh dang dd-MM-yyyy: ");
        String ns=sc.nextLine();
        this.ngaySinh=chuyenStringDate(ns);
        System.out.print("Nhap nghe nghiep: ");
        this.ngNghiep=sc.nextLine();
    }
    public Date chuyenStringDate(String ngay)
    {
        SimpleDateFormat sdf=new SimpleDateFormat("dd-MM-yyyy");
        Date ns=null;
        try
        {
            ns=sdf.parse(ngay);
        }catch(Exception e)
        {
            System.out.println("Loi dinh dang thoi gian.!");
        }
        return ns;
    }
    public void hienThongTin()
    {
        System.out.println("Ho va ten: "+this.hoTen);
        System.out.println("Ngay sinh: "+this.ngaySinh);
        System.out.println("Nghe nghiep: "+this.ngNghiep);
    }
    public Date getNgaySinh()
    {
        return this.ngaySinh;
    }
   
}
//Lớp Hộ Dân
import java.util.Scanner;
import java.util.Date;
public class HoDan
{
   private int soTVien;
   private int soNha;
   private Nguoi[] thanhVien;
   
   public HoDan()
   {
       this.thanhVien=new Nguoi[10];
   }
   public HoDan(int soTVien,int soNha,Nguoi[] thanhVien)
   {
       this.soTVien=soTVien;
       this.soNha=soNha;
       this.thanhVien=thanhVien;
   }
   
   public void nhapThongTin(Scanner sc)
   {
       System.out.print("Nhap so thanh vien: ");
       this.soTVien=sc.nextInt();
       System.out.print("Nhap so nha: ");
       this.soNha=sc.nextInt();sc.nextLine();
       for(int i=0;i<n;i++)
       {
           System.out.println("Nhap thong tin thanh vien thu "+(i+1)+": ");
           thanhVien[i]=new Nguoi();
           thanhVien[i].nhapThongTin(sc);
       }
   }
   public void hienThongTin()
   {
       System.out.println("So nha: "+this.soNha);
       System.out.println("So thanh vien: "+this.soTVien);
       for(int i=0;i
       {
           System.out.println("Thanh vien thu "+(i+1)+": ");
           thanhVien[i].hienThongTin();
       }
   }
   public Nguoi[] getThanhVien()
   {
       return this.thanhVien;
   }

//Lớp khu phố
import java.util.Scanner;
import java.util.ArrayList;
public class KhuPho
{
    private HoDan[] dsHoDan;
    private int n;
    
    public void nhapHoDan(Scanner sc)
    {
        System.out.print("Nhap so ho dan can nhap: ");
        this.n=sc.nextInt();sc.nextLine();
        this.dsHoDan=new HoDan[n];
        for(int i=0;i<n;i++)
        {
            System.out.println("Nhap thong tin dan thu "+(i+1)+": ");
            this.dsHoDan[i]=new HoDan();
            this.dsHoDan[i].nhapThongTin(sc);
        }
    }

    public static void main(String[] args)
    {
        KhuPho ql=new KhuPho();
        Scanner sc=new Scanner(System.in);
        ql.nhapHoDan(sc);
        System.out.println("Nhap nam mung tho: ");
        int nam=sc.nextInt();
        ql.mungTho(nam);
    }
    public void mungTho(int nam)
    {
        Nguoi thanhVien[]=null;
        boolean a=false;
        int soTvien;
        int b;
        for(int i=0; i<n;i++)
        {
            b=0;
            thanhVien=dsHoDan[i].getThanhVien();
            soTvien=thanhVien.length;
                while(soTvien!=0)
                {
                    if((nam-thanhVien[b].getNgaySinh().getYear()-1900)>=80)
                    {
                         a=true;
                         break;
                    }
                    soTvien--;
                    b++;
                }
             if(a==true)
                dsHoDan[i].hienThongTin();
         }
   }

}

0 comments:

Post a Comment