Sử dụng phương thức Math.pow() để tính bình phương trong java thông qua chương trình quản lý điểm và đoạn thẳng trong không gian. Chương trình sẽ cho phép người dùng nhập danh sách các đoạn thẳng, sau đó hiển thị danh sách đó ra màn hình.
Xem thêm:
- Bài thực hành 6: Nhập xuất danh sách kiểu mảng
- Bài thực hành 8: quản lý tài khoản ngân hàng java
1. Cách bình phương trong java
Để tính bình phương của một số trong java, bạn có thể sử dụng toán tử mũ Math.pow()
hoặc nhân số đó với chính nó.
Cú pháp của phương thức Math.pow() là:
Math.pow(double num1, double num2)
Ví dụ:
double number = 5; double square = Math.pow(number, 2); System.out.println("Bình phương của " + number + " là " + square);
Kiểu dữ liệu trả về của pow()
là double.
2. Bài toán quản lý điểm và đoạn thẳng java sử dụng pow()
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 (toạ độ không gian)
- Phương thức: Khởi tạo (không có tham số – có tham số), nhập, xuất,…
Xây dựng lớp DOANTHANG (đ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 đổng độ dài tất cả các đoạn thẳng đã nhập.
Xem thêm:
- Bài thực hành 3: tính diện tích tam giác theo công thức Heron java
- Bài thực hành 5: tính chu vi diện tích hình chữ nhật java
3. Code tham khảo
3.1 Class DIEM
package bai7; import java.util.Scanner; public class DIEM { int x,y; DIEM() { x=0; y=0; } DIEM(int xx, int yy){ x=xx; y=yy; } public int getX() { return x; } public void setX(int x) { this.x = x; } public int getY() { return y; } public void setY(int y) { this.y = y; } public void nhap(){ Scanner sc = new Scanner(System.in); System.out.print("Nhap X: "); x= sc.nextInt(); System.out.print("Nhap Y: "); y= sc.nextInt(); } public void xuat(){ System.out.println("X: "+x+" "+ "Y: "+y); } }
3.2 Class DOANTHANG
package bai7; import java.util.Scanner; public class DOANTHANG { DIEM A,B; DOANTHANG(){ this.A= new DIEM(); this.B= new DIEM(); } public DOANTHANG(int x1, int y1, int x2, int y2) { this.A = new DIEM(x1,y1); this.B = new DIEM(x2,y2); } public void nhapDT(){ Scanner sc = new Scanner(System.in); System.out.println("Nhap diem A: "); A.nhap(); System.out.println("Nhap diem B: "); B.nhap(); } public float ChieuDai(){ //Math.pow(): tinh binh phuong //Math.sqrt(): tính can bac hai return (float) (Math.sqrt(Math.pow(B.getX()-A.getX(), 2)+(Math.pow(B.getY()-A.getY(), 2)))); } public void xuatDT(){ System.out.println("A:"); A.xuat(); System.out.println("B:"); B.xuat(); System.out.println("Chieu dai: "+ChieuDai()); } }
3.3 Class DSDT
package bai7; import java.util.Scanner; public class DSDT { DOANTHANG ds[]; int i,n; public void nhapDSDT(){ Scanner sc = new Scanner(System.in); System.out.println("Nhap so luong doan thang:"); n=sc.nextInt(); ds= new DOANTHANG[n]; for(i=0;i<n;i++){ ds[i]= new DOANTHANG(); System.out.println("Nhap duong thang thu: "+(i+1)); ds[i].nhapDT(); } } public void xuatDSDT(){ System.out.println("Danh sach duong thang: "); for(i=0;i<n;i++){ System.out.println("\n Doan thang thu: "+(i+1)); ds[i].xuatDT(); } } public void maxDT(){ float max=ds[0].ChieuDai(); for(int i=1;i<n;i++){ if(max<ds[i].ChieuDai()){ max=ds[i].ChieuDai(); } } System.out.println("Thong tin doan thang co do dai lon nhat là: "); for(int i=0;i<n;i++){ if(max==ds[i].ChieuDai()){ ds[i].xuatDT(); } } } public void sumDT(){ float sum=0; for(int i=0;i<n;i++){ sum= sum+ ds[i].ChieuDai(); } System.out.println("Tong do dai tat ca cac doan thang da nhap la: "+sum); } }
3.4 Class main
package bai7; import com.sun.swing.internal.plaf.metal.resources.metal; import java.util.Scanner; public class Bai7 { static void menu(){ System.out.println("1. Nhap danh sach doan thang"); System.out.println("2. Xuat danh sach doan thang"); System.out.println("3. Thong tin doan thang co do dai lon nhat"); System.out.println("4. Tong do dai tat ca doan thang"); System.out.println("0. Thoat"); } public static void main(String[] args) { int chon; DSDT dsdt= new DSDT(); Scanner sc = new Scanner(System.in); do { menu(); System.out.println("Lua chon:"); chon= sc.nextInt(); switch(chon){ case 1: dsdt.nhapDSDT(); break; case 2: dsdt.xuatDSDT(); break; case 3: dsdt.maxDT(); break; case 4: dsdt.sumDT(); break; case 0: System.exit(0); break; default: break; } } while (chon!=0); } }
4. Kết quả chạy chương trình
Trên đây là chương trình quản lý điểm và đường thẳng viết bằng ngôn ngữ lập trình java. Cảm ơn các bạn đã tham khảo bài tập lập trình hướng đối tượng java trên ttnguyen.net.
Source code:
Bài viết liên quan: