כיצד ליישם תוספת של שני מספרים בג'אווה?



במאמר זה נציג בפניכם מושג פשוט אך חשוב שהוא תוספת של שני מספרים בג'אווה עם הדגמה.

במאמר זה אציג בפניכם מושג פשוט אך חשוב שהוא תוספת של שני מספרים ב- Java. אך לפני שתמשיך קדימה, הייתי מציע לך להכיר את 'מה זה Java', תכונות של Java ואיך אתה יכול להתקין את Java במערכת שלך, שתמצא בעבר . זה יעזור לך לתפוס את המושגים הבאים במהירות ובקלות. הבלוגים האחרים בסדרת הדרכה זו של Java שנכתבו על ידי שלנו מומחים יעסוק לעומק בכל הנושאים החשובים של Java ו- J2EE,

המצביעים הבאים יוסקרו במאמר זה,





אז בואו נתחיל אז,

תוספת של שני מספרים בג'אווה

שיטה 1

בואו נבין ישירות על ידי פיתוח תוכנית בג'אווה להדפסת 'הוספה של שני מספרים' על המסך.



Class AddTwoNumbers {main public static void main (String [] args) {System.out.println ('תוספת של שני מספרים 10 + 20 היא' + (10 + 20))}

תְפוּקָה

פלט - הוסף שני מספרים בג

עלינו להבין זאת, שכאן מספרים מתווספים ישירות אומרים 10 + 20 כלומר 30. אבל מה שאנחנו מקבלים מספרים מהקונסולה. במקרה כזה הערכים יאוחסנו במשתנה. במונחים של ג'אווה, משתנה מערך המחרוזות יאחסן את המספרים הללו על סמך האינדקס שלהם.



ההבדל בין html ל- xml
class class ראשי {public static void main (String [] args) {System.out.println ('תוספת של שני מספרים' + args [0] + '+' + args [1] + 'הוא' + (args [0 ] + טענות [1]))}}

הפלט עבור זה יהיה כפי שמוצג במסוף כאשר אנו מעבירים את אותו המספר שהוא 10 ו -20.

אה, התוצאה שקיבלנו כאן אינה רצויה 30. זכור שטרינג [] טוען, כל קלט שאתה לוקח מהקונסולה מיוצג במחרוזת. אז הנה עלינו להמיר את המיתרים האלה למספר שלם כדי לחשב את התוספת.

class public ראשי {public static void main (String [] args) {// System.out.println( 'תוספת של שני מספרים' + args [0] + '+' + args [1] + 'הוא' + (args [0] + args [1])) System.out.println ('תוספת של שני מספרים' + args [0] + '+' + args [1] + 'הוא' + (Integer.parseInt (args [0] ) + Integer.parseInt (טענות [1])))}}

תְפוּקָה

עכשיו התפוקה הרצויה היא מה שאנחנו רוצים. זו התוספת של 10 ו- 20 היא 30 לאחר שניתחנו אותה ממחרוזת למספר שלם.

הבא במאמר זה בנושא תוספת של שני מספרים בג'אווה

שיטה 2

  1. באמצעות אופרטור חיסור: אנו יכולים להשתמש בחיסור כדי להוסיף שני מספרים כך שיבטל את הערך השלילי ויבוא וכתוצאה מכך לחיבור.

class class AddTwoNumbers {public static int add (int a, int b) {return a - (-b)} public public static public main (String [] args) {System.out.println (add (10, 20)) System. out.println (הוסף (-10, 20))}

אאוט

30

10

הבא במאמר זה בנושא תוספת של שני מספרים בג'אווה

מפעיל חוזר ונשני

זה כרוך בעוד לולאה, הרעיון הבסיסי שעומד מאחורי זה הוא להביא לאפס את ערך האופרנד הראשון. ולהמשיך ולהגדיל את האופראנד השני המקביל שלה באותה כמות איטרציות. שקול את הדוגמה הבאה בעצמך.

מחלקה ציבורית HelloWorld {public static void main (String [] args) {System.out.println ('add' + add (10, 20)) System.out.println ('add' + add (-10, 20)) } הוסף ציבורי סטטי ציבורי (int a, int b) {// System.out.println ('--->' + a + ':' + b) בעוד (a> 0) {// System.out.println ('בעוד a> 0 --->' + a + ':' + b) b ++ a--} בעוד (a<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) החזר b}}

אאוט

$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld הוסף 30 הוסף 10

הבא במאמר זה בנושא תוספת של שני מספרים בג'אווה

מפעיל Bitwise ו Bitshift בג'אווה

אנו יכולים גם להוסיף שני מספרים שלמים על ידי שימוש באופרטור bitwise XOR וניתן להשיג על ידי אופרטור AND. כדי להוסיף את הסכום עלינו להשתמש במפעיל משמרת שמאלי חתום. איך זה קורה? בואו נראה דוגמא ראשונה.

class public HelloWorld {public static void main (String [] args) {System.out.println ('Addition using + ve' + addUsingBits (10, 20)) System.out.println ('Addition using -ve' + addUsingBits ( -10, 20))} int סטטי ציבורי int addUsingBits (int a, int b) {while (b! = 0) {int carry = (a & b) a = a ^ bb = carry<< 1 } return a } }

תְפוּקָה

$ javac HelloWorld.java

$ java -Xmx128M -Xms16M HelloWorld

תוספת באמצעות + ve 30

תוספת באמצעות -ve 10

זכרו תמיד שפעולת XOR משמשת להערכת תוספת של שני ביטים. פעולת AND משמשת להערכת נשיאה של שני ביטים. בואו ננתח את זה נכון? נעבור לפי ערכי הקלט בואו ניקח a = 10 ו- b = 20 למצב הראשון.

פעולה

הערכת ביטוי

מקבילה בינארית

ערך עשרוני

ל

10

00001010

10

ב

עשרים

00010100

עשרים

ואילו (b! = 0)

נָכוֹן

int carry = (a & b)

10 ו -20

0

0

a = a ^ ב

10 ^ 20

00011110

30

b = לשאת<< 1

0<< 1

0

0

להחזיר א

30

00011110

30

עכשיו, בואו ניקח קלט שלילי נגיד -10 עבור a. בואו נבדוק מה קורה בטבלה שלהלן.זה מאפשר לנו לולאה עד שהערך העשרוני של נשיאה יגיע לשלילי.

הבא במאמר זה בנושא תוספת של שני מספרים בג'אווה

שולחן לולאה ראשוני

פעולה

הערכת ביטוי

מקבילה בינארית

ערך עשרוני

ל

-10

11110110

-10

ב

עשרים

00010100

עשרים

ואילו (b! = 0)

נָכוֹן

int carry = (a & b)

-10 ו -20

00010100

עשרים

a = a ^ ב

-10 ^ 20

11100010

-30

b = לשאת<< 1

עשרים<< 1

00101000

40

לולאה 1.

פעולה

הערכת ביטוי

מקבילה בינארית

ערך עשרוני

ל

-30

11100010

-30

ב

40

00101000

40

ואילו (b! = 0)

נָכוֹן

int carry = (a & b)

-30 ו -40

00100000

32

a = a ^ ב

-30 ^ 40

11001010

-54

b = לשאת<< 1

32<< 1

00101000

64

וכן הלאה & hellip עד שהלולאה מתבררת כ- b = 0 בקיצור לא כל התוצאה מוצגת כאן. אז להלן הטבלה מייצגת את הלולאה האחרונה בפעולה זו.

פעולה

הערכת ביטוי

מקבילה בינארית

ערך עשרוני

ל

-2147483638

1111111111111111111111111111100000000000000000000000000000001010

-2147483638

ב

-2147483648

1111111111111111111111111111100000000000000000000000000000000000

-2147483648

ואילו (b! = 0)

נָכוֹן

int carry = (a & b)

-2147483638 & -2147483648

1111111111111111111111111111100000000000000000000000000000000000

-2147483648

a = a ^ ב

-2147483638 ^ -2147483648

00001010

10

b = לשאת<< 1

-2147483648<< 1

0

0

להחזיר א

10

00001010

10

אז כך חישבה התוספת. פאי! כל כך הרבה למחשבה. רק תחשוב אם חישוב זה נעשה באופן ידני על ידי בני אדם, בעיקר חישובים בינאריים.

הבא במאמר זה בנושא תוספת של שני מספרים בג'אווה

רקורסיה

אנו יכולים גם לכתוב את התוכנית הנ'ל באמצעות רקורסיה. חלק החישוב שונה מעט מאפשר לשקול זאת עבור שיעורי בית בשבילך, נכון? אתן את התמצית כאן לרקורסיה ותנסה לבנות את השולחן שלך בכדי שתדע איך זה עובד באופן פנימי. כמו כן, אין צורך לספל את כל אלה שמיועדים לייצוג אלא אם כן אתה מתרגש מהעבודה הפנימית כאן.

עומס יתר על הפונקציה בדוגמת c ++
int static int addUsingRecursion (int a, int b) {if (b == 0) להחזיר int int = a ^ b int carry = (a & b)<< 1 return add(sum, carry) }

כל זה היה תוספת של שני מספרים ב- Java עם שימוש באופרטור + ובלי שימוש באופרטור +. הסיבה שעומדת מאחורי אחד מאלה תלויה לחלוטין בצורך ובדרישה של הפרויקט.

לא הערכתי ובדקתי את עבודת שני התרחישים בכדי להגיע לביצועים. אני מניח שזה ייכנס לתוקף רק אם אתה בונה את הרקטה ותעביר אותה לחלל.

הסברתי רק על המספרים הקשורים למספרים שלמים בקצרה שיש להם מגבלת זיכרון משלה. אני משאיר לך לחקור הלאה באמצעות float, double, וכו '. זכור תמיד שאם אתה חורג מערך הגבול של סוגים פרימיטיביים, התוצאה תציג תשובה שונה.

בדוק את מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפזורים ברחבי העולם. אנו כאן כדי לעזור לך בכל שלב בדרכך, בכדי להיות הטובים ביותר שלך, אנו מגישים תוכנית לימודים אשר מיועדת לסטודנטים ואנשי מקצוע המעוניינים להיות מפתח Java.