Wednesday, April 27, 2016

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

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

Đề : Để quản lý các biên lai thu tiền điện, người ta cần các thông tin như sau:
- Với mỗi biên lai, có các thông tin sau: thông tin về hộ sử dụng điện, chỉ số cũ, chỉ số mới, số tiền phải
trả của mỗi hộ sử dụng điện
- Các thông tin riêng của mỗi hộ sử dụng điện gồm: Họ tên chủ hộ, số nhà, mã số công tơ của hộ dân sử dụng điện.
1. Hãy xây dựng lớp KhachHang để lưu trữ các thông tin riêng của mỗi hộ sử dụng điện.
2. Xây dựng lớp BienLai để quản lý việc sử dụng và thanh toán tiền điện của các hộ dân.
3. Xây dựng các phương thức nhập, và hiển thị một thông tin riêng của mỗI hộ sử dụng điện.
4. Cài đặt chương trình thực hiện các công việc sau:
+ Nhập vào các thông tin cho n hộ sử dụng điện
+ Hiển thị thông tin về các biên lai đã nhập
+ Tính tiền điện phải trả cho mỗi hộ dân, nếu giả sử rằng tiền phải trả được tính theo công thức sau:
số tiền phải trả=(Số mới - số cũ) * 750.

--------------------------------------------------------------------------------------------------------------------------
   Giải:
//Lop KhachHang
import java.util.Scanner;
public class KhachHang
{
    private String hoTen;
    private int soNha;
    private String maCongTo;
 
    public KhachHang()
    {
    }
    public KhachHang(String hoTen,int soNha,String maCongTo)
    {
        this.hoTen=hoTen;
        this.soNha=soNha;
        this.maCongTo=maCongTo;
    }
    //-----------
    public void nhapThongTin()
    {
        Scanner sc=new Scanner(System.in);
        System.out.print("Nhap ho ten khach hang:");
        this.hoTen=sc.nextLine();
        System.out.print("Nhap so nha :");
        this.soNha=sc.nextInt();
        sc.nextLine();
        System.out.print("Nhap ma cong to:");
        this.maCongTo=sc.nextLine();
    }
    public void hienThongTin()
    {
        System.out.println("Ho Ten: "+this.hoTen);
        System.out.println("So nha: "+this.soNha);
        System.out.println("Ma cong to: "+this.maCongTo);
    }
}
//Lớp BienLai
import java.util.Scanner;
public class BienLai
{
    private KhachHang kh;
    private int chiSoCu;
    private int chiSoMoi;
    private double tienTra;
    public BienLai()
    {
     
    }
    public BienLai(KhachHang kh,int chiSoCu,int chiSoMoi,double tienTra)
    {
        this.kh=kh;
        this.chiSoCu=chiSoCu;
        this.chiSoMoi=chiSoMoi;
        this.tienTra=tienTra;
    }
    //---------------------
    public void nhapThongTin()
    {
        Scanner sc=new Scanner(System.in);
        this.kh=new KhachHang();
        this.kh.nhapThongTin();
        System.out.print("Nhap chi so cu:");
        this.chiSoCu=sc.nextInt();
        System.out.print("Nhap chi so moi:");
        this.chiSoMoi=sc.nextInt();
        this.tienTra= (double)(this.chiSoMoi-this.chiSoCu)*750;
    }
    //--------------------
    public void hienThongTin()
    {
        this.kh.hienThongTin();
        System.out.println("Chi so cu: "+this.chiSoCu);
        System.out.println("Chi so moi: "+this.chiSoMoi);
        System.out.println("So tien phai tra: "+this.tienTra);
    }

}
//Lớp Test
import java.util.ArrayList;
import java.util.Scanner;
import java.util.InputMismatchException ;

public class Test
{
   public static void main(String[] args)
   {
       Scanner sc=new Scanner(System.in);
       int n;
       try
       {
           System.out.println("Ban muon nhap bao nhieu ho gia dinh : ");
           n=sc.nextInt();
       }catch(InputMismatchException e) //su ly ngoai le khi n khong phai la so
       {
           n=0;
       }
       
       ArrayList<BienLai> ds=new ArrayList<BienLai>(100);
       for(int i=0;i<n;i++)
       {
           BienLai b=new BienLai();
           b.nhapThongTin();
           ds.add(b);
       }
       for(int i=0;i<n;i++)
       {
           System.out.println("Ho gia dinh thu : "+(i+1));
           ds.get(i).hienThongTin();
           System.out.println("====================");
       }
   }
}

0 comments:

Post a Comment