Bài 7- Bài tập quản lý điểm, đường thằng bằng ArrayList trong Java

  Bài 7, Cho lớp DIEM (điểm) để mô tả một điểm trong không gian gồm: Thuộc tính: x, y (Tọa độ trong không gian) Phương thức: Khởi t...

 
Bài 7, Cho lớp DIEM (điểm) để mô tả một điểm trong không gian gồm:
  • Thuộc tính: x, y (Tọa độ trong không gian)
  • Phương thức: Khởi tạo( Không có tham số, có tham số), nhập, xuất,tính chiều dài, ...
Xây dựng lớp DOAN THANG(đoạn thẳng) gồm:
  • Thuộc tính: A(điểm đầu), B(điểm cuối)
  • Phương thức: Khởi tạo(Không có tham số, có tham số), nhập, xuất, tính chiều dài,...
Áp dụng:
  • Nhập vào danh sách các DOANTHANG
  • In lại danh sách  các DOANTHANG vừa nhập
  • cho biết thông tin DOANTHANG có độ dài lớn nhất
  • Tính tổng các độ dài tất cả các đoạn thẳng đã nhập

Code đầy đủ cả bài: 

Mô tả bài toán

Với yêu cầu bài toán, ta lần lượt tạo các class:
  • DIEM: để quản lý điểm. VD điểm A(x, y)
  • DOAN THANG: để quản lý các đoạn thẳng ( mỗi đường thẳng chứa 2 điểm)
  • DSDOANTHANG: Quản lý các đoạn thẳng . VD: cần quản lý n đoạn thẳng 
  • QLDOANTHANG: Chứa hàm main() để gọi các hàm khác vào.

Xây dựng class

class DIEM

package BaiTH3.bai7;
import java.util.Scanner;
public class DIEM {
public float x, y;
public DIEM() {
x =0;
y = 0;
}
public DIEM(float x, float y) {
this.x = x;
this.y = y;
}
public void nhap() {
Scanner sc = new Scanner(System.in);
System.out.print("Nhap chieu rong x: ");
x = sc.nextFloat();
System.out.print("Nhap chieu dai y: ");
y = sc.nextFloat();
}
public void xuat() {
System.out.print("\nChieu rong x la: "+x);
System.out.print("\nChieu dai y la: "+y+"\n");
}
public float getX() {
return x;
}
public float getY() {
return y;
}
public String toString() {
return "\nChieu dai:" +y +"\nChieu rong: "+x;
}
}

class DOANTHANG

package BaiTH3.bai7;
public class DOANTHANG {
DIEM A = new DIEM();
DIEM B = new DIEM();
public void nhapDT() {
System.out.print("\nNhap toa do doan thang:");
System.out.print("\nNhap toa do diem A:\n");
A.nhap();
System.out.print("\nNhap toa do diem B:\n");
B.nhap();
}
public void xuatDT() {
System.out.print("\nToa do diem A: ");
A.xuat();
System.out.print("Toa do diem B: ");
B.xuat();
System.out.print("chieu dai doan AB: "+tinhCD()+"\n");
}
public float tinhCD(){
float cd;
cd = (float)Math.pow((A.x - B.x), 2)+ (float)Math.pow((A.y - B.y), 2);
cd = (float)Math.sqrt(cd);
return cd;
}
}

class DSDOANTHANG

package BaiTH3.bai7;
import java.util.*;
public class DSDOANTHANG {
ArrayList<DOANTHANG> DT;
public void nhapDS() {
Scanner sc = new Scanner(System.in);
int n;
System.out.print("Nhap so doan thang: ");
n = sc.nextInt();
DT = new ArrayList<>(n);
for (int i = 0; i < n; i++) {
DOANTHANG x = new DOANTHANG();
x.nhapDT();
DT.add(x);
}
}
public void xuatDS() {
System.out.print("\nDanh sach doan thang: \n");
for(DOANTHANG x:DT){
System.out.print("\nToa do doan thang:");
x.xuatDT();
}
}
public void tongDT() {
float s;
s =0;
for(DOANTHANG x:DT){
s+= x.tinhCD();
}
System.out.print("\nTong chieu dai doan thang: "+s);
}
public void maxDT() {
float max;
max = 0;
for(DOANTHANG x:DT){
if(max<x.tinhCD()){
max = x.tinhCD();
}
}
System.out.print("\nDoan thang dai nhat co do dai: "+max);
}
}

class DSDOANTHANG

Các bạn gọi các hàm tương ứng vào hàm main(). Xem code đầy đủ ở đầu bài.

Dữ liệu test


Thắc mắc hãy để lại comment để mình giải đáp nhé!

COMMENTS

BLOGGER
Tên

bài viết hay,4,Bài viết khác,1,cấu trúc dữ liệu và giải thuật,3,fithou,36,ghim,4,giải tích 2,1,Hướng dẫn,5,Lập trình C,1,lập trình hướng đối tượng,3,Lập trình java,1,phần mềm,2,phần mềm lập trình,2,sách,1,tác phẩm đồ họa,3,tản mạn,4,Thiết kế web,3,thực hành lập trình cơ sở,18,thực hành lập trình hướng đối tượng,16,
ltr
item
Blog NDanh: Bài 7- Bài tập quản lý điểm, đường thằng bằng ArrayList trong Java
Bài 7- Bài tập quản lý điểm, đường thằng bằng ArrayList trong Java
https://1.bp.blogspot.com/-LFSO8ne8_fc/XuWI89S5A3I/AAAAAAAAg5M/YX9ub_unroUB7ZU6xmlQc5I3Gil5CBAiwCK4BGAsYHg/d/banner-blog.png
https://1.bp.blogspot.com/-LFSO8ne8_fc/XuWI89S5A3I/AAAAAAAAg5M/YX9ub_unroUB7ZU6xmlQc5I3Gil5CBAiwCK4BGAsYHg/s72-c-d/banner-blog.png
Blog NDanh
https://blog.ndanh.com/2020/03/bai-7-bai-tap-quan-ly-diem-duong-thang-bang-arraylist.html
https://blog.ndanh.com/
https://blog.ndanh.com/
https://blog.ndanh.com/2020/03/bai-7-bai-tap-quan-ly-diem-duong-thang-bang-arraylist.html
true
1596452775547375681
UTF-8
Tải tất cả bài viết Không tìm thấy bài viết nào XEM TẤT CẢ Đọc thêm Trả lời Hủy trả lời Xóa Bởi Trang chủ PAGES POSTS Xem tất cả Bài viết đề xuất CHỦ ĐỀ LƯU TRỮ SEARCH TẤT CẢ BÀI VIẾT Không tìm thấy nội dung của bạn Quay về trang chủ Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sun Mon Tue Wed Thu Fri Sat January February March April May June July August September October November December Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec just now 1 minute ago $$1$$ minutes ago 1 hour ago $$1$$ hours ago Yesterday $$1$$ days ago $$1$$ weeks ago more than 5 weeks ago Followers Follow CHIA SẺ ĐỂ XEM NỘI DUNG Bước 1: Chia sẻ lên facebook chế độ công khai Bước 2: Vào facebook, ấn vào bài đã chia sẻ công khai để hiện nội dung! Click Copy All Code Select All Code Code của bạn đã được copy Can not copy the codes / texts, please press [CTRL]+[C] (or CMD+C with Mac) to copy Table of Content