CodeGym /בלוג Java /Random-HE /Math.sqrt Method - שורש ריבועי בג'אווה
John Squirrels
רָמָה
San Francisco

Math.sqrt Method - שורש ריבועי בג'אווה

פורסם בקבוצה
למרות שחישוב שורש ריבועי בג'אווה אינו שאלה שכיחה כל כך לראיונות לפיתוח תוכנה, לפעמים ראיון עשוי לשאול אותך משהו כמו: " יש לך מספר x שלם. צור תוכנית 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.

דוגמה לשימוש ב-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 Practice בעיה

כעת, כשאתה יודע ליצור תוכנית המחשבת שורשים מרובעים ב-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.");
            }

    }
}

סיכום

זו הייתה סקירה קצרה על מציאת שורש ריבועי של מספר בג'אווה. למתחילים בפיתוח תוכנה, מומלץ לתרגל תרחישים שונים (a>0, a<0, a = 0) כדי לקבל הבנה מוצקה של הרעיון. לאחר שתבינו את הפרטים הקטנים של שיטת java.lang.Math.sqrt, התחל ליישם את השיטה בתוכניות מורכבות, טיפול במשימות כמו פתרון משוואות ריבועיות.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION