CodeGym /จาวาบล็อก /สุ่ม /วิธี Math.sqrt - รากที่สองใน Java
John Squirrels
ระดับ
San Francisco

วิธี Math.sqrt - รากที่สองใน Java

เผยแพร่ในกลุ่ม
แม้ว่าการคำนวณรากที่สองใน Java จะไม่ใช่คำถามทั่วไปสำหรับการสัมภาษณ์การพัฒนาซอฟต์แวร์ แต่บางครั้ง การสัมภาษณ์อาจถามคุณในทำนองว่า: “ คุณมี x จำนวนเต็ม สร้างโปรแกรม Java ที่จะคำนวณรากที่สองของมัน” เพื่อให้แน่ใจว่าคำถามพื้นฐานดังกล่าวจะไม่ทำให้คุณไม่ทันตั้งตัว ลองมาดูวิธีการสร้างเครื่องหมายกรณฑ์ใน Java

สแควร์และสแควร์รูท: ทบทวนแนวคิดทางคณิตศาสตร์

เพื่อให้แน่ใจว่าคุณไม่สับสนเมื่อต้องจัดการกับกำลังสองและราก เรามาทบทวนทฤษฎีของแนวคิดนี้กัน เลขกำลังสองคือจำนวนนั้นคูณด้วยตัวมันเอง ถ้า n = 4 แล้ว n^2 = 4 4 = 16 รากที่สองของตัวเลขคือตัวเลขที่หากคูณด้วยตัวมันเอง จะได้ค่า X ตัวอย่างเช่น คุณต้องหารากที่สองของ n = 16 โดยหาเลขที่ถ้ายกกำลังสองจะได้ 16 คุณจะแก้ปัญหาได้ ในกรณีของ n รากที่สองของเลข 16 คือ 4 (เนื่องจาก 4 * 4 = 16)

วิธีทำสแควร์รูทใน Java โดยใช้ java.lang.Math.sqrt()

วิธีทั่วไปในการหารากที่สองของตัวเลขใน Java คือการใช้java.lang.Math.sqrt()เมธอด นี้ ไวยากรณ์ทั่วไปของเมธอด java.lang.Math.sqrt() มีดังนี้

public static double sqrt(double a)
ในวิธีการ a คือค่าที่ยกกำลังสองที่คุณต้องการหารากที่สอง เมื่อนักพัฒนานำไปใช้java.lang.Math.sqrt()วิธีการจะส่งกลับค่ารากที่สองที่เป็นบวกของ a (หาก a มากกว่า 0) สำหรับอาร์กิวเมนต์เชิงjava.lang.Math.sqrtลบ ส่งกลับเอาต์พุต NaN

กรณีพิเศษของ java.lang.Math.sqrt() ส่งคืน

ตามที่กล่าวไว้ข้างต้น ในกรณีส่วนใหญ่ เมธอดจะส่งกลับค่าบวก อย่างไรก็ตาม มีบางกรณีที่ผู้พัฒนาควรทราบเมื่อสร้างโปรแกรมค้นหารูท
  • สำหรับอาร์กิวเมนต์ที่มีค่า NaN หรือเป็นลบ เมธอดจะส่งคืนผลลัพธ์ NaN
  • สำหรับอาร์กิวเมนต์ที่เป็นค่าบวกไม่จำกัด เมธอดจะส่งคืนผลลัพธ์ที่เป็นค่าบวกไม่สิ้นสุด
  • สำหรับอาร์กิวเมนต์ที่ประกอบด้วยค่าบวกหรือลบศูนย์ รากที่สองของ a จะเท่ากับ a

ตัวอย่างการใช้งาน java.lang.Math.sqrt()


package MyPackage;
 
public class SquareRoot2 {
 
    public static void main(String args[])
    {
        double a = 100;
   
        System.out.println(Math.sqrt(a));
        // For positive values, the output is the square root of x 
   
        double b = -81.00;
   
        System.out.println(Math.sqrt(b));
        // For negative values as input, Output NaN 
   
        double c = 0.0/0;
        // Input NaN, Output NaN 
   
        System.out.println(Math.sqrt(c));
   
        double d = 1.0/0; 
        // For inputs containing  positive infinity, Output positive infinity  
   
        System.out.println(Math.sqrt(d));
         
        double e = 0.0;
        // Input positive Zero, Output positive zero 
         
        System.out.println(Math.sqrt(e));
    }
         
}

การค้นหารากที่สองในปัญหาการปฏิบัติ Java

ตอนนี้คุณรู้วิธีสร้างโปรแกรมที่คำนวณรากที่สองใน Java แล้ว มาดูกันว่าแนวคิดนี้เหมาะกับปัญหาการปฏิบัติขั้นสูงอย่างไร ตัวอย่างเช่น ผู้สัมภาษณ์อาจขอให้คุณแก้สมการกำลังสอง ลองมาดูวิธีการจัดการกับปัญหาดังกล่าว ปัญหา:แก้สมการกำลังสองโดยที่ a = 1, b = 5, c = 2 วิธีแก้ปัญหา:

import java.util.Scanner;
public class Exercise2 {

    
  public static void main(String[] Strings) {

        Scanner input = new Scanner(System.in);

            System.out.print("Input a: ");
            double a = input.nextDouble();
            System.out.print("Input b: ");
            double b = input.nextDouble();
            System.out.print("Input c: ");
            double c = input.nextDouble();

            double result = b * b - 4.0 * a * c;

            if (result > 0.0) {
                double r1 = (-b + Math.pow(result, 0.5)) / (2.0 * a);
                double r2 = (-b - Math.pow(result, 0.5)) / (2.0 * a);
                System.out.println("The roots are " + r1 + " and " + r2);
            } else if (result == 0.0) {
                double r1 = -b / (2.0 * a);
                System.out.println("The square root is " + r1);
            } else {
                System.out.println("There are no real square roots in the equation.");
            }

    }
}

บทสรุป

นี่เป็นบทสรุปสั้น ๆ เกี่ยวกับการค้นหารากที่สองของตัวเลขใน Java สำหรับผู้เริ่มต้นพัฒนาซอฟต์แวร์ เป็นความคิดที่ดีที่จะฝึกฝนสถานการณ์ต่างๆ (a>0, a<0, a = 0) เพื่อให้เข้าใจแนวคิดได้ชัดเจน เมื่อคุณเข้าใจรายละเอียดปลีกย่อยของเมธอด java.lang.Math.sqrt แล้ว ให้เริ่มนำเมธอดไปใช้ในโปรแกรมที่ซับซ้อน จัดการงานต่างๆ เช่น การแก้สมการกำลังสอง
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION