แม้ว่าการคำนวณรากที่สองใน 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 แล้ว ให้เริ่มนำเมธอดไปใช้ในโปรแกรมที่ซับซ้อน จัดการงานต่างๆ เช่น การแก้สมการกำลังสอง
อ่านเพิ่มเติม: |
---|
GO TO FULL VERSION