Căn Bậc 2 Trong Java – Techacademy

Trước khi bàn luận về mã căn bậc hai trong java, thứ nhất tất cả chúng ta nên hiểu thuật ngữ căn bậc hai .Căn bậc hai của 1 số ít n là 1 số ít x sao cho x2 = n hoặc, 1 số ít x có bình phương là n .
Ngoài ra còn có một phương pháp dựng sẵn trong java để tính căn bậc hai trong gói java.math có phương pháp sqrt ( ) .

Căn bậc hai của x là hợp lý khi và chỉ khi x là số hữu tỷ có thể được biểu diễn dưới dạng tỷ lệ của hai hình vuông hoàn hảo. (căn bậc hai của 2 là một số vô tỷ và bất phương trình bậc hai cho tất cả các số tự nhiên không vuông.) Hàm căn bậc hai ánh xạ các số hữu tỷ thành các số đại số (một siêu số của các số hữu tỷ).

I. Cú Pháp Hàm Sqrt ( ) Trong Thư Viện Math Java

Trước tiên những bạn sẽ tìm hiểu và khám phá về cú pháp của nó đã nhé .

double sqrt(double d)

Tham số

Dưới đây là cụ thể về tham số của sqrt ( ) trong Java :
d — Một kiểu tài liệu gốc

Trả về giá trị

Trả về căn bậc 2 của tham số .

II. Cách Dùng Hàm Sqrt ( ) Trong Thư Viện Math Java

Trong phần này chúng tôi sẽ triển khai 2 ví dụ sử dụng phương pháp sqrt ( ) để minh họa cho cách dùng của nó .
Ví dụ 1 : Ở ví dụ dưới đây mình sẽ khai báo và khởi tạo sẵn giá trị cho biến, sau đó tính căn bậc hai của những số đó .

import java.lang.Math;
class Main {
  public static void main(String[] args) {
    //khai báo 4 biến và khởi tạo cho nó
    double value1 = Double.POSITIVE_INFINITY;
    double value2 = 25.0;
    double value3 = -16;
    double value4 = 0.0;
    //sử dụng phương thức sqrt() để tính căn bậc hai của 4 số trên
    System.out.println(Math.sqrt(value1));  
    System.out.println(Math.sqrt(value2));  
    System.out.println(Math.sqrt(value3));  
    System.out.println(Math.sqrt(value4));  
 
    System.out.println("--------------------------------");
    System.out.println("Chương trình này được đăng tại Freetuts.net");
  }
}

Kết quả :

Ví dụ 2: Ở ví dụ dưới đây chúng tôi sẽ yêu cầu người dùng nhập vào một số, sau đó tính căn bậc 2 rồi hiển thị ra màn hình.

import java.lang.Math;
import java.util.Scanner;
class Main {
  public static void main(String[] args) {
    //sử dụng class Scanner để yêu cầu người dùng nhập vào số cần tính căn bậc hai
    Scanner sc = new Scanner(System.in);
    double a, squareRoot;
    System.out.println("Nhập vào số cần tính căn bậc hai: ");
    a = sc.nextDouble();
    //tính căn bậc hai của số nhập vào rồi gán cho biến squareRoot
    squareRoot = Math.sqrt(a);
    System.out.println("Căn bậc hai của "+a+" là: " + squareRoot);
 
    System.out.println("--------------------------------");
    System.out.println("Chương trình này được đăng tại Freetuts.net");
  }
}

Trong ví dụ dưới đây chúng tôi sẽ sử dụng class Scanner, để nhận tài liệu từ người dùng rồi mới thực thi tính căn bậc 2 của giá trị đó .
Kết quả :

III. Tính Căn Bậc 2 Từ 1 Đến 100 Trong Java

Đề bài: Viết chương trình dùng ngôn ngữ lập trình Java tính S = √1 + √2 + √3 + … + √100′

Yêu cầu kiến thức:

  • Xác định chính xác kiểu dữ liệu cho các biến
  • Sử dụng hàm căn bậc 2 trong thư viện Math của Java

Code tìm hiểu thêm dưới đây được viết trên JDK 8. x :

package timoday;

public class Main {

    public static void main(String[] args) {
        double S = 0;
        for (int i = 1; i <= 100; i++) {
            S += Math.sqrt(i);
        }
        System.out.println("Tong can bac 2 tu 1 den 100 la: " + S);
    }
}

IV. Giải Phương Trình Bậc 2 Trong Java

Viết chương trình giải phương trình bậc 2 trong java. Phương trình bậc 2 có dạng :
ax2 + bx + c = 0

Kiến thức dùng trong bài này, java.util.Scanner được dùng để đọc dữ liệu nhập vào từ bàn phím và từ khóa static trong java. Các bạn cũng cần tìm hiểu về package trong java.

Bài này được viết trên eclipse, bạn hoàn toàn có thể tìm hiểu thêm bài tạo chương trình java tiên phong trên eclipse .

package vn.viettuts.baitap;
 
import java.util.Scanner;
 
/**
 * Giải phương trình bậc 2
 * 
 * @author viettuts.vn
 */
public class BaiTap1 {
    private static Scanner scanner = new Scanner(System.in);
    /**
     * main
     * 
     * @param args
     */
    public static void main(String[] args) {
        System.out.print("Nhập hệ số bậc 2, a = ");
        float a = BaiTap1.scanner.nextFloat();
        System.out.print("Nhập hệ số bậc 1, b = ");
        float b = BaiTap1.scanner.nextFloat();
        System.out.print("Nhập hằng số tự do, c = ");
        float c = scanner.nextFloat();
        BaiTap1.giaiPTBac2(a, b, c);
    }
     
    /**
     * Giải phương trình bậc 2: ax2 + bx + c = 0
     * 
     * @param a: hệ số bậc 2
     * @param b: hệ số bậc 1
     * @param c: số hạng tự do
     */
    public static void giaiPTBac2(float a, float b, float c) {
        // kiểm tra các hệ số
        if (a == 0) {
            if (b == 0) {
                System.out.println("Phương trình vô nghiệm!");
            } else {
                System.out.println("Phương trình có một nghiệm: "
                        + "x = " + (-c / b));
            }
            return;
        }
        // tính delta
        float delta = b*b - 4*a*c;
        float x1;
        float x2;
        // tính nghiệm
        if (delta > 0) {
            x1 = (float) ((-b + Math.sqrt(delta)) / (2*a));
            x2 = (float) ((-b - Math.sqrt(delta)) / (2*a));
            System.out.println("Phương trình có 2 nghiệm là: "
                    + "x1 = " + x1 + " và x2 = " + x2);
        } else if (delta == 0) {
            x1 = (-b / (2 * a));
            System.out.println("Phương trình có nghiệm kép: "
                    + "x1 = x2 = " + x1);
        } else {
            System.out.println("Phương trình vô nghiệm!");
        }
    }
}

Kết quả :

Nhập hệ số bậc 2, a = 2
Nhập hệ số bậc 1, b = 1
Nhập hằng số tự do, c = -1
Phương trình có 2 nghiệm là: x1 = 0.5 và x2 = -1.0

Trong ví dụ trên, phương pháp Math. sqrt ( double a ) được dùng để tính căn bậc 2 của a .