TỔNG QUAN
CẤU TRÚC ĐIỀU KHIỂN
VÒNG LẶP
CHUỖI VÀ MẢNG
COLLECTIONS
THƯ VIỆN QUAN TRỌNG
HƯỚNG ĐỐI TƯỢNG
XỬ LÝ LUỒNG
EXCEPTION
LÀM VIỆC VỚI FILE
THAM KHẢO
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Java - Viết chương trình quản lý giao dịch nhà đất.

Xây dựng chương trình quản lý danh sách các giao dịch nhà đất. Thông tin bao gồm:

  • Giao dịch đất: Mã giao dịch, ngày giao dịch (ngày, tháng, năm), đơn giá, loại đất (loại A, B, C), diện tích. Nếu là loại B, C thì thành tiền = diện tích * đơn giá. Nếu là loại A thì thành tiền = diện tích * đơn giá * 1.5.
  • Giao dịch nhà: Mã giao dịch, ngày giao dịch (ngày, tháng, năm), đơn giá, loại nhà (cao cấp, thường), địa chỉ, diện tích. Nếu là loại nhà cao cấp thì thành tiền = diện tích * đơn giá, nếu là loại thường thì thành tiền = diện tích * đơn giá * 90%.

Viết chương trình thực hiện các yêu cầu sau:

  • Xây dựng các lớp với quan hệ thừa kế.
  • Nhập xuất danh sách các giao dịch.
  • Tính trung bình thành tiền của giao dịch đất.
  • Xuất ra các giao dịch của tháng 9 năm 2013.

test php

Bài giải

-------------------- ######## --------------------

GiaoDich.java
package baitapquanlynhadat;

import java.util.Scanner;

public class GiaoDich {
	private String maGiaoDich, ngayGiaoDich;
	private long donGia;
	private float dienTich;
	Scanner scanner = new Scanner(System.in);
	
	public GiaoDich() {
		super();
	}

	public GiaoDich(String maGiaoDich, String ngayGiaoDich, long donGia, float dienTich) {
		super();
		this.maGiaoDich = maGiaoDich;
		this.ngayGiaoDich = ngayGiaoDich;
		this.donGia = donGia;
		this.dienTich = dienTich;
	}

	public String getMaGiaoDich() {
		return maGiaoDich;
	}

	public void setMaGiaoDich(String maGiaoDich) {
		this.maGiaoDich = maGiaoDich;
	}

	public String getNgayGiaoDich() {
		return ngayGiaoDich;
	}

	public void setNgayGiaoDich(String ngayGiaoDich) {
		this.ngayGiaoDich = ngayGiaoDich;
	}

	public long getDonGia() {
		return donGia;
	}

	public void setDonGia(long donGia) {
		this.donGia = donGia;
	}

	public float getDienTich() {
		return dienTich;
	}

	public void setDienTich(float dienTich) {
		this.dienTich = dienTich;
	}
	
	public void nhap() {
		System.out.print("Nhập mã giao dịch: ");
		maGiaoDich = scanner.nextLine();
		System.out.print("Nhập ngày giao dịch (ngày/tháng/năm): ");
		ngayGiaoDich = scanner.nextLine();
		System.out.print("Nhập đơn giá: ");
		donGia = Long.parseLong(scanner.nextLine());
		System.out.print("Nhập diện tích: ");
		dienTich = Float.parseFloat(scanner.nextLine());
	}
	
	@Override
	public String toString() {
		return "Mã giao dịch: " + this.maGiaoDich + ", ngày giao dịch: " + this.ngayGiaoDich + 
			", đơn giá: " + this.donGia + ", diện tích: " + this.dienTich;
	}
}

GiaoDichDat.java
package baitapquanlynhadat;

public class GiaoDichDat extends GiaoDich {
	private String loaiDat;

	public GiaoDichDat() {
		super();
	}

	public GiaoDichDat(String loaiDat) {
		super();
		this.loaiDat = loaiDat;
	}

	public String getLoaiDat() {
		return loaiDat;
	}

	public void setLoaiDat(String loaiDat) {
		this.loaiDat = loaiDat;
	}
	
	public void nhap() {
		super.nhap();
		System.out.print("Nhập loại đất (A/B/C): ");
		loaiDat = scanner.nextLine();
	}

	@Override
	public String toString() {
		return super.toString() + ", loại đất: " + this.loaiDat;
	}
}

GiaoDichNha.java
package baitapquanlynhadat;

public class GiaoDichNha extends GiaoDich {
	private String loaiNha, diaChi;
	private int choose;
	
	public GiaoDichNha() {
		super();
	}

	public GiaoDichNha(String loaiNha, String diaChi) {
		super();
		this.loaiNha = loaiNha;
		this.diaChi = diaChi;
	}

	public String getLoaiNha() {
		return loaiNha;
	}

	public void setLoaiNha(String loaiNha) {
		this.loaiNha = loaiNha;
	}

	public String getDiaChi() {
		return diaChi;
	}

	public void setDiaChi(String diaChi) {
		this.diaChi = diaChi;
	}
	
	public void nhap() {
		super.nhap();
		System.out.print("Nhập địa chỉ: ");
		diaChi = scanner.nextLine();
		System.out.print("Nhập loại nhà (0: cao cấp, 1: thường): ");
		choose = scanner.nextInt();
		switch (choose) {
			case 0:
				loaiNha = "cao cấp";
				break;
			case 1: 
				loaiNha = "thường";
				break;
			default:
				System.out.println("Chọn số không hợp lệ.");
				break;
		}
	}
	
	@Override
	public String toString() {
		return super.toString() + ", loại nhà: " + this.loaiNha + ", địa chỉ: " + this.diaChi;
	}
}

Main.java
package baitapquanlynhadat;

import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		ArrayList<GiaoDichNha> arrGiaoDichNha = new ArrayList<>();
		ArrayList<GiaoDichDat> arrGiaoDichDat = new ArrayList<>();
		int soGiaoDichDat = 0, soGiaoDichNha = 0;
		long tongTienGiaoDichDat = 0, trungBinhThanhTien = 0;
		Scanner scanner = new Scanner(System.in);
		
		System.out.print("Nhập số giao dịch đất: ");
		soGiaoDichDat = scanner.nextInt();
		System.out.print("Nhập số giao dịch nhà: ");
		soGiaoDichNha = scanner.nextInt();
		
		System.out.println("Nhập thông tin giao dịch đất:");
		for (int i = 0; i < soGiaoDichDat; i++) {
			System.out.println("Nhập thông tin giao dịch đất thứ " + (i + 1) + ":");
			GiaoDichDat giaoDichDat = new GiaoDichDat();
			giaoDichDat.nhap();
			arrGiaoDichDat.add(giaoDichDat);
		}
		
		System.out.println("Nhập thông tin giao dịch nhà:");
		for (int i = 0; i < soGiaoDichNha; i++) {
			System.out.println("Nhập thông tin giao dịch nhà thứ " + (i + 1) + ":");
			GiaoDichNha giaoDichNha = new GiaoDichNha();
			giaoDichNha.nhap();
			arrGiaoDichNha.add(giaoDichNha);
		}
		
		System.out.println("---Thông tin các giao dịch đất---");
		for (int i = 0; i < arrGiaoDichNha.size(); i++) {
			System.out.println(arrGiaoDichDat.get(i).toString());
		}
		
		System.out.println("---Thông tin các giao dịch nhà---");
		for (int i = 0; i < arrGiaoDichNha.size(); i++) {
			System.out.println(arrGiaoDichNha.get(i).toString());
		}
		
		for (int i = 0; i < arrGiaoDichDat.size(); i++) {
			if (arrGiaoDichDat.get(i).getLoaiDat().equalsIgnoreCase("A")) {
				tongTienGiaoDichDat += arrGiaoDichDat.get(i).getDienTich() * 
					arrGiaoDichDat.get(i).getDonGia() * 1.5;
			} else if (arrGiaoDichDat.get(i).getLoaiDat().equalsIgnoreCase("B") || 
					arrGiaoDichDat.get(i).getLoaiDat().equalsIgnoreCase("C")) {
				tongTienGiaoDichDat += arrGiaoDichDat.get(i).getDienTich() * 
					arrGiaoDichDat.get(i).getDonGia();
			}
		}
		trungBinhThanhTien = tongTienGiaoDichDat / (arrGiaoDichDat.size());
		System.out.println("Trung bình thành tiền của giao dịch đất = " + trungBinhThanhTien);
		
		// xuất ra các giao dịch của tháng 9 năm 2013
		System.out.println("Các giao dịch đất của tháng 9 năm 2013: ");
		for (int i = 0; i < arrGiaoDichDat.size(); i++) {
			String[] dateGiaoDichDat = arrGiaoDichDat.get(i).getNgayGiaoDich().split("/");
			if (dateGiaoDichDat[1].equals("9") && dateGiaoDichDat[2].equals("2013")) {
				System.out.println(arrGiaoDichDat.get(i).toString());
			}
		}
		
		System.out.println("Các giao dịch nhà của tháng 9 năm 2013: ");
		for (int i = 0; i < arrGiaoDichNha.size(); i++) {
			String[] dateGiaoDichNha = arrGiaoDichNha.get(i).getNgayGiaoDich().split("/");
			if (dateGiaoDichNha[1].equals("9") && dateGiaoDichNha[2].equals("2013")) {
				System.out.println(arrGiaoDichNha.get(i).toString());
			}
		}
	}

}

Kết quả sau khi biên dịch chương trình:

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

ketqua bai tap quan ly nha dat 1 PNGketqua bai tap quan ly nha dat 2 PNG

Câu hỏi thường gặp liên quan:

Cùng chuyên mục:

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn Upload file với Spring Boot và jQuery Ajax trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn download file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn Upload file với Spring Boot trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Hướng dẫn CRUD với Spring Boot, REST và AngularJS trong Java

Cách sử dụng Spring  Scheduled trong Spring Boot

Cách sử dụng Spring Scheduled trong Spring Boot

Cách dùng Groovy trong Spring Boot Java

Cách dùng Groovy trong Spring Boot Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và Mustache trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách dùng Spring Boot và MongoDB trong Java

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Cách tạo Restful Client bằng RestTemplate trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Hướng dẫn sử dụng Interceptor trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Sử dụng Twitter Bootstrap trong Spring Boot

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo trang web đa ngôn ngữ với Spring Boot trong Java

Tạo ứng dụng Chat với Spring Boot và Websocket

Tạo ứng dụng Chat với Spring Boot và Websocket

Sử dụng JUnit để tạo unit test trong Spring Boot

Sử dụng JUnit để tạo unit test trong Spring Boot

Cách triển khai Spring Boot trên Tomcat Server

Cách triển khai Spring Boot trên Tomcat Server

Cách test RESTful API trong Spring Boot

Cách test RESTful API trong Spring Boot

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Cách dùng Spring Security trong Spring Boot để xác thực và phân quyền

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Duyệt cây nhị phân bằng phương pháp inOder trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Xóa node của cây nhị phân tìm kiếm trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Bảo mật Spring Boot RESTful Service sử dụng Basic Authentication trong Java

Top