By GokiSoft.com| 15:16 23/06/2023|
Java Basic

Bài tập kế thừa hình tròn + hình chữ nhật - lập trình Java căn bản - Đề 2

- Tạo một lớp Shape gồm 1 hàm tạo và các phương thức trừu tượng tinhChuVi, tinhDienTich

- Tạo lớp HinhTron kế thừa từ lớp Shape gồm có tham số radius

--> Viết 2 hàm tạo và getter/setter tương ứng

--> Viết code cho các hàm tinhChuVi và tinhDienTich của hình tròn

- Tạo lớp HinhChuNhat kế thừa từ lớp Shape gồm 2 tham số width và height

--> Viết 2 hàm tạo và getter/setter tương ứng

-> Viết code cho các hàm tinhChuVi và tinhDienTich của hình chữ nhật tương ứng

Yêu cầu :

Tạo lớp Main thực hiện test chương trình.

Tạo 1 phương thức public static float tinhTongDienTich(Shape[] list) để tính tổng diện tích của tất cả các Shape trong mảng list

Thực hiện khai báo 1 đối tượng HinhTron và HinhChuNhat -> Sử dụng hàm tinhTongDienTich trên để tính tổng diện tích của HinhTron và HinhChuNhat trên. Hiển thị kết quả tính

Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

Hoàng Anh [C2010G]
Hoàng Anh

2022-06-30 17:39:54



/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package BaiTap.baitap1135;

/**
 *
 * @author by bom1
 */
public class HinhChuNhat extends Shape {

    double width;
    double height;

    public HinhChuNhat() {
    }

    public HinhChuNhat(double width, double height) {
        this.width = width;
        this.height = height;
    }

    public double getWidth() {
        return width;
    }

    public void setWidth(double width) {
        this.width = width;
    }

    public double getHeight() {
        return height;
    }

    public void setHeight(double height) {
        this.height = height;
    }

    @Override
    public double tinhChuVi() {
        return (width + height) * 2;
    }

    @Override
    public double tinhDienTich() {
        return width * height;
    }
    
    
    
}



/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package BaiTap.baitap1135;

import java.util.Scanner;

/**
 *
 * @author by bom1
 */
public class HinhTron extends Shape {

    double radius;

    public HinhTron() {

    }

    public HinhTron(float radius) {
        this.radius = radius;
    }

    public double getRadius() {
        return radius;
    }

    public void setRadius(float radius) {
        this.radius = radius;
    }

    public void input() {
        Scanner input = new Scanner(System.in);
        
        System.out.println("Nhập giá trị của bán kính hình tròn: ");
        radius = Double.parseDouble(input.nextLine());
    }

    @Override
    public double tinhChuVi() {
        return 2 * Math.PI * radius;
    }

    @Override
    public double tinhDienTich() {
        return Math.PI * radius * radius;
    }

}



/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package BaiTap.baitap1135;

/**
 *
 * @author by bom1
 */
public class Main {
    public static void main(String[] args) {
        HinhTron ht = new HinhTron(3);
        HinhChuNhat hcn = new HinhChuNhat(4,9);
        
        Shape[] List = new Shape[2];
        List[0] = ht;
        List[1] = hcn;
        
        double tong = tinhTongDienTich(List);
        
        System.out.println("Diện tích hình tròn là: " + ht.tinhDienTich());
        System.out.println("Diện tích hình chữ nhật là: " + hcn.tinhDienTich());
        System.out.println("Tổng diện tích: " + tong);
        
    }
    public static double tinhTongDienTich(Shape[] list){
        double tongDienTich = 0;
        
        for (Shape shape : list){
            tongDienTich += shape.tinhDienTich();
        }
        return tongDienTich;
    }     
}



/*
 * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
 * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
 */
package BaiTap.baitap1135;

/**
 *
 * @author by bom1
 */
public class Shape {

    public Shape() {
        
    }
    
    public double tinhChuVi(){
        return 0;
    }
    
    public double tinhDienTich(){
        return 0;
    }
}



Nguyễn Lương Trung [java1_online]
Nguyễn Lương Trung

2022-06-10 13:30:18

Em cần source code của bài này ạ, video hướng dẫn bị lỗi tiếng ạ