Bình phương trong java – phương thức Math.pow()

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:

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ó.

\(pow(a, b) = a^b\)

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:

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

Nhập vào danh sách các đoạn thẳng java

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.

Bài viết liên quan:

Nguyễn Tiến Trường

Mình viết về những điều nhỏ nhặt trong cuộc sống, Viết về câu chuyện những ngày không có em