Wednesday, April 27, 2016

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

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

Đề :
Một công ty được giao nhiệm vụ quản lý các phương tiện giao thông gồm các loại: ô tô, xe máy, xe tải.
+ mỗi loại phương tiện giao thông cần quản lý: Hãng sản xuất, năm sản xuất, giá bán và màu.
+ Các ô tô cần quản lý: số chỗ ngồi, kiểu động cơ
+ Xe máy cần quản lý: công suất
+ Xe tải cần quản lý: trọng tải.
2. Xây dựng các lớp XeTai, XeMay, OTo kế thừa từ lớp PTGT.
3. Xây dựng các hàm để truy nhập (get), thay đổi (set) và hiển thị các thuộc tính của các lớp.
4. Xây dựng lớp QLPTGT cài đặt các phương thức thực hiện các chức năng sau:
- Nhập đăng ký phương tiện
- Tìm phương tiện theo màu hoặc năm sản xuất

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

Giải:/
//Lop PTGT
import java.util.Date;
public class PTGT
{
    private String hangSX;
    private int namSX;
    private double gia;
    private String mau;
 
    public PTGT()
    {
    }
    public PTGT(String hangSX,int namSX,double gia,String mau)
    {
        this.hangSX=hangSX;
        this.namSX=namSX;
        this.gia=gia;
        this.mau=mau;
    }
 
    public void setHangSx(String hangSX)
    {
        this.hangSX=hangSX;
    }
    public void setNamSx(int namSX)
    {
        this.namSX=namSX;
    }
    public void setGia(double gia)
    {
        this.gia=gia;
    }
    public void setMau(String mau)
    {
        this.mau=mau;
    }
 
    public String getHangSX()
    {
        return this.hangSX;
    }
    public int getNamSX()
    {
        return this.namSX;
    }
    public double getGia()
    {
        return this.gia;
    }
    public String getMau()
    {
        return this.mau;
    }
 
    public void hienThongTin()
    {
        System.out.println("Hang san xuat: "+this.hangSX);
        System.out.println("Nam san xuat: "+this.namSX);
        System.out.println("Gia : "+this.gia);
        System.out.println("Mau: "+this.mau);
     
    }

}
//Lop XeTai

public class XeTai extends PTGT
{
    private double trongTai;
    
    public XeTai()
    {
    
    }
    public XeTai(String hangSX,int namSX,double gia,String mau,double trongTai)
    {
        super(hangSX,namSX,gia,mau);
        this.trongTai=trongTai;
    }
    
    public void setTrongTai(double trongTai)
    {
        this.trongTai=trongTai;
    }
    public double getTrongTai()
    {
        return this.trongTai;
    }
    
    public void hienThongTin()
    {
        super.hienThongTin();
        System.out.println("Trong tai cua xe la: "+this.trongTai);
    }
}
//Lop Oto

public class Oto extends PTGT
{
    private int soCho;
    private String kieuDongCo;
    
    public Oto()
    {
    }
    public Oto(String hangSX,int namSX,double gia,String mau,int soCho,String kieuDongCo)
    {
        super(hangSX,namSX,gia,mau);
        this.soCho=soCho;
        this.kieuDongCo=kieuDongCo;
    }
    
    public void setSoChoNgoi(int soCho)
    {
        this.soCho=soCho;
    }
    public void setKieuDongCo(String kieuDongCo)
    {
        this.kieuDongCo=kieuDongCo;
    }
    
    public void hienThongTin()
    {
        super.hienThongTin();
        System.out.println("So Cho ngoi: "+this.soCho);
        System.out.println("Kieu dong co: "+this.kieuDongCo);
    }
}
//Lop XeMay

public class XeMay extends PTGT
{
    private double congSuat; 
    
    public XeMay(String hangSX,int namSX,double gia,String mau,double congSuat)
    {
        super(hangSX,namSX,gia,mau);
        this.congSuat=congSuat;
    }
    
    public void setCongSuat(double congSuat)
    {
        this.congSuat=congSuat;
    }
    public double getCongSuat()
    {
        return this.congSuat;
    }
    
    public void hienThongTin()
    {
        super.hienThongTin();
        System.out.println("Cong Suat: "+this.congSuat);
    }
}
//lop QuanLyPhuongTienGT
import java.util.Date;
import java.util.ArrayList;
import java.util.Scanner;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
public class QuanLyPhuongTienGT
{
    private ArrayList<PTGT> ds=new ArrayList<PTGT>();
    
    public PTGT nhapOto(Scanner sc) 
    {
        System.out.print("Nhap hang san xuat: ");
        String hangSx=sc.nextLine();
        
        System.out.print("Nhap nam san xuat:");
        int namSX=sc.nextInt();
        
        System.out.print("Nhap gia xe:");
        double gia=sc.nextDouble();
        sc.nextLine();
        
        System.out.print("Nhap mau xe:");
        String mau=sc.nextLine();
        
        System.out.print("Nhap so cho ngoi:");
        int soCho=sc.nextInt();
        sc.nextLine();
        
        System.out.print("Nhap kieu dong co:");
        String kdc=sc.nextLine();
        
        return new Oto(hangSx,namSX,gia,mau,soCho,kdc);
    }
    public PTGT nhapXeMay(Scanner sc) 
    {
        System.out.print("Nhap hang san xuat: ");
        String hangSx=sc.nextLine();
        
        System.out.print("Nhap nam san xuat:");
        int namSX=sc.nextInt();
        
        System.out.print("Nhap gia xe:");
        double gia=sc.nextDouble();
        sc.nextLine();
        
        System.out.print("Nhap mau xe:");
        String mau=sc.nextLine();
        
        System.out.print("Nhap Cong Suat:");
        double congSuat=sc.nextDouble();
        sc.nextLine();
        
        return new XeMay(hangSx,namSX,gia,mau,congSuat);
    }
    public PTGT nhapXeTai(Scanner sc) 
    {
        System.out.print("Nhap hang san xuat: ");
        String hangSx=sc.nextLine();
        
        System.out.print("Nhap nam san xuat:");
        int namSX=sc.nextInt();
        
        System.out.print("Nhap gia xe:");
        double gia=sc.nextDouble();
        sc.nextLine();
        
        System.out.print("Nhap mau xe:");
        String mau=sc.nextLine();
        
        System.out.print("Nhap trong tai cua xe:");
        double trongTai=sc.nextDouble();
        sc.nextLine();
        
        return new XeTai(hangSx,namSX,gia,mau,trongTai);
    }
    public void  nhapDangKiPhuongTien(Scanner sc)
    {
        char c;
        int chon=0;
        while(true)
        {
            System.out.print("Ban muon nhap loai xe nao (1-XeTai,2-Xemay,3-Oto):");
            chon=sc.nextInt();
            sc.nextLine();
            switch(chon)
            {
                case 1:{
                    ds.add(nhapXeTai(sc));
                    break;
                }
                case 2:{
                    ds.add(nhapXeMay(sc));
                    break;
                }
                case 3:{
                    ds.add(nhapOto(sc));
                    break;
                }
                default:
                {
                    ds.add(nhapXeTai(sc));
                    break;
                }
            }
            System.out.println("Ban co muon nhap nua khong: (Y/N)");
            c=sc.nextLine().charAt(0);
            if(c=='N'||c=='n')
                break;
        }
    }
    public void timKiemTheoMau(Scanner sc)
    {
        System.out.print("Nhap mau can tim kiem:");
        String mauTk=sc.nextLine();
        for(int i=0;i<ds.size();i++)
        {
            String mau=ds.get(i).getMau();
            if(mau.equalsIgnoreCase(mauTk))
                ds.get(i).hienThongTin();
        }
    }
    public void timKiemTheoNamSX(Scanner sc)
    {
        System.out.print("Nhap nam  de tim kiem:");
        int nam=sc.nextInt();
        int tg=0;
        for(int i=0;i<ds.size();i++)
        {
           tg=ds.get(i).getNamSX();
           if(tg==nam)
                ds.get(i).hienThongTin();
        }
    }
    public static void main(String[] args)
    {
        QuanLyPhuongTienGT PT=new QuanLyPhuongTienGT();
        Scanner sc=new Scanner(System.in);
        PT.nhapDangKiPhuongTien(sc);
        PT.timKiemTheoMau(sc);
        PT.timKiemTheoNamSX(sc);
    }
}


0 comments:

Post a Comment