Đáp Án Đề 14 : Đa Giác



Đa Giác

  1. Hãy xây dựng lớp DaGiac gồm có các thuộc tính:
    - Số cạnh của đa giác
    - Mảng các số nguyên chứa kích thước các cạnh của đa giác
 Các phương thức:
   - Tính chu vi
   - In giá trị các cạnh của đa giác.
  2. Xây dựng lớp TamGiac kế thừa từ lớp DaGiac, trong đó viết đè các hàm tính chu vi và xây dựng thêm phương thức kiểm tra tính hợp lệ 3 cạnh của tam giác, tính diện tích tam giác
  3. Xây dựng một ứng dụng Java để nhập vào một dãy gồm n tam giác rồi in ra màn hình các cạnh của các tam giác có diện tích lớn nhất.
  


//Lớp DaGiac

public class DaGiac
{
    protected int soCanh;
    protected int a[];
  
    public DaGiac()
    {
      
    }
    public DaGiac(int soCanh,int a[])
    {
        this.soCanh=soCanh;
        this.a=a;
    }
    public int tinhChuVi()
    {
        int cv=0;
        for(int i=0;i < this.soCanh;i++)
            cv=cv+a[i];
        return cv;
    }
    public void inCanh()
    {
        for(int i=0;i < this.soCanh;i++)
        {
            System.out.println("Canh thu "+(i+1)+" : "+this.a[i]);
        }
    }
}
//Lớp TamGiac
import java.util.Scanner;
public class TamGiac extends DaGiac
{
    TamGiac()
    {
        this.a=new int[3];  
        this.soCanh=3;
    }
    public int  tinhChuVi()
    {
        int cv=0;
        for(int i=0;i < 3;i++)
             cv=+a[i];
            
        return cv;
    }
    public boolean ktHopLe()
    {
        int A=this.a[0];
        int B=this.a[1];
        int C=this.a[2];
        if(A+B>C && A+C>B && B+C>A)
            return true;
        return false;
    }
    public double tinhDT()
    {
        int A=this.a[0];
        int B=this.a[1];
        int C=this.a[2];
        int P=(A+B+C)/2;
        return (double) Math.sqrt(P*(P-A)*(P-B)*(P-C));
    }
    public void nhap()
    {
        Scanner sc=new Scanner(System.in);
        for(int i=0;i < 3;i++)
        {
            System.out.print("Nhap canh thu "+(i+1)+": ");
            this.a[i]=sc.nextInt();
        }
    }
}
//Lop test
import java.util.ArrayList;
public class Test
{
    public static void main(String[] args)
    {
        ArrayList ds=new ArrayList();
        for(int i=0;i < 4;i++)
        {
            System.out.println("Nhap tam giac thu "+(i+1)+" :");
            TamGiac tg=new TamGiac();
            tg.nhap();
            ds.add(tg);
        }
        double max=0;
        int Max=0;
        for(int i=0;i < ds.size();i++)
            if(ds.get(i).ktHopLe())
            {
               if(ds.get(i).tinhDT()>max)
               {
                    max=ds.get(i).tinhDT();
                    Max=i;
               }
           }
        System.out.println("Tam Giac Co Dien tich lon nhat la: "+max+", cac canh cua tam giac nay : ");
        ds.get(Max).inCanh();
    }
   

}




Đăng nhận xét

Cảm Ơn Bạn Đã Để Lại Bình Luận

 

Quản Trị Viên

Lượt xem

Lên Trên