CodeGym /בלוג Java /Random-HE /רמה ישנה 08
John Squirrels
רָמָה
San Francisco

רמה ישנה 08

פורסם בקבוצה

שוק העבודה העולמי

רמה ישנה 08 - 1אם אתה גר במדינה קטנה, ענייה או מתפתחת, אתה עלול להיתקל בשלב מסוים במגבלה של שוק העבודה המקומי.

מגבלות לשוק העבודה המקומי

1 משכורת נמוכה

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

2 תארים מיותרים

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

3 אין ביקוש למקצוע שלך

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

4 הזדמנויות קריירה קטנות

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

5 שווקי עבודה קטנים

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

יתרונות שוק העבודה העולמי

1 המשכורות נמוכות יותר מאשר במדינות המפותחות, אך גבוהות מזה שבמדינות המתפתחות

אם אתה ממדינה מתפתחת ואתה מומחה לפי דרישה בשוק העבודה העולמי, המשכורת שלך יכולה להיות שונה פי 5-10 בשוק העולמי ובשוק המקומי. מה גם שאתה יכול לבזבז את הכסף שלך במדינה שלך, להזרים אותו לכלכלתה.

2 ניסיון. תהליך עסקי מעולה

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

3 הזדמנויות קריירה גדולות

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

4 נסיעות עסקים

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

5 הזדמנות לעבור למדינה שאתה אוהב

רמה ישנה 08 - 2לעתים קרובות קורה שכאשר עשית לעצמך שם כמומחה בעל כישורים גבוהים, אתה מקבל הצעה לעבור (לעבוד) למשרד המעסיק שלך. זה מאוד נוח. עד אז כנראה שהיית שם בנסיעת עסקים ויש לך ידע טוב לאן אתה הולך. כבר יש לך שם חברים ומכרים. תקבל עבודה טובה ועמיתים שעכשיו אתה טוב. אלו כנראה תנאי ההגירה הטובים ביותר שאני מכיר.

דרישות שוק העבודה העולמי

1 המקצוע שלך חייב לעמוד בהם

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

2 מחיר ואיכות

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

3 אנגלית

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

הגעת לרמה חדשה

רמה 8

רמה ישנה 08 - 3

1 אלי, הסבר על אוספים

רמה ישנה 08 - 4היי, אמיגו. היום אני רוצה לספר לכם על אוספים. ב-Java, מחלקות שמטרתן העיקרית היא לאחסן סט של אלמנטים אחרים נקראות אוספים/מכולות. הדוגמה למחלקה כזו, שאתה כבר מכיר, היא ArrayList. - ב-Java, האוספים מחולקים לשלוש קבוצות עיקריות: Set, List ומפה. - אז מה ההבדל ביניהם? אני אתחיל עם סט. דמיינו ערימת נעליים. זה סט. בסט, אתה יכול להוסיף אלמנט, למצוא או להסיר אותו. אבל לאלמנטים אין סדר קפדני שם! - ההסבר קצר מדי... - כעת דמיינו את אותה ערימת נעליים, הפעם בשורה לאורך הקיר. יש פקודה עכשיו. לכל אלמנט יש את המספר שלו. לדוגמה, אתה יכול למצוא "זוג מספר 7" לפי המספר שלו. זוהי רשימה . אתה יכול להוסיף את האלמנט בהתחלה או באמצע הרשימה, או להסיר אותו, כדי לעשות זאת כל מה שאתה צריך הוא המספר שלו. - ברור. מה עם מפה? - תאר לעצמך את אותן נעליים, אבל עכשיו על כל זוג יש תווית, למשל "ניק", "ג'ו", או "אן". זוהי מפה, היא נקראת לעתים קרובות "מילון". לכל אלמנט יש את השם הייחודי שלו אתה יכול לגשת אליו. השם הייחודי של האלמנט נקרא גם המפתח. ומפה היא קבוצה של צמדי מפתח-ערך. המפתח לא חייב להיות מיתר. זה יכול להיות מכל סוג שהוא. המפה , שסוג המפתח הוא מספר שלם , היא למעשה הרשימה ( עם כמה הבדלים). - זה ברור, אבל הייתי רוצה לראות עוד דוגמאות. – רישא תביא לך דוגמאות, ואני רוצה להוסיף עוד כמה מילים. - כל האוספים והמיכלים לא מאחסנים דבר כשהם רק נוצרו. אבל אתה יכול להוסיף להם אלמנטים לאחר מכן. הם ישנו את הגודל שלהם באופן דינמי. - אה, עכשיו זה מעניין. ואיך יודעים כמה אלמנטים יש בקולקציה? - לשם כך, יש את השיטה size() . בקולקציות יש את כל מה שצריך. אני חושב שבעוד כמה שיעורים תראה בעצמך עד כמה האוספים האלה שימושיים. - אני מקווה.

1 רישא, רשימת כל האוספים והממשקים

רמה ישנה 08 - 5 היי, אמיגו. היי, רישה. - לילה אמרה לי שאתה רוצה עוד דוגמאות של אוספים. אני אתן לך כמה. אני רוצה להראות לך רשימה של אוספים וממשקים: רמה ישנה 08 - 6- הממ, כל כך הרבה. יש ארבע רשימות, שלוש סטים וארבע מפות. - כן, כל אלה הם יישומים שונים של ממשקים רשימה, סט ומפה. - ומה ההבדל בין המימושים? - זה בדיוק מה שאנחנו הולכים לדבר עליו היום. רק תחכה קצת. - אולי יש לך כבר כמה שאלות. - אני יודע איך להציג רשימה למסך. ואיך להציג סט ומפה? - לרכיבי הרשימה יש סדר קפדני, כך שהם עשויים להיות מוצגים פשוט לפי המספרים שלהם. לסט ומפה אין סדר קפדני של אלמנטים. למעשה, סדר הרכיבים שלהם עשוי להשתנות כאשר אתה מוסיף או מסיר פריט כלשהו. - וואו, זה מעניין! - לכן, האובייקטים המיוחדים ( איטרטורים ) הומצאו כדי לעבוד עם אלמנטים של אוסף. באמצעותם ניתן לעבור על כל האלמנטים של אוסף, גם אם אין להם מספרים, רק שמות (מפה), או ללא שמות כלל (סט). - דוגמאות: רמה ישנה 08 - 7- וואו! ומה המשמעות של כל זה? - למעשה, זה די פשוט. ראשית, אנו מקבלים אובייקט איטרטור מיוחד מהאוסף. יש לו רק שתי שיטות. 1 השיטה next() היא להחזיר את האלמנט הבא של האוסף. 2 השיטה hasNext() היא לבדוק אם יש אלמנטים שעדיין לא הוחזרו על ידי next(). - כן. זה נעשה ברור יותר. תן לי לספר לך איך אני מבין את זה. - אז, כדי לקבל את אובייקט האיטרטור הקסום הזה, ראשית, עליך לקרוא למתודה iterator() באוסף. - ואז אני מקבל אותם אחד אחד בלופ בזמן שיש פריטים שלא הוחזרו. אני מקבל את רכיב האוסף על ידי קריאה ל-next() ובודק אם יש אלמנטים באיטרטור באמצעות hasNext(). האם אני צודק? - כן משהו כזה. ועכשיו הדבר הכי מעניין. - ב-Java, יש סימון קצר של שימוש באיטרטור. בדומה ל- while ו- for , נוסף מפעיל מיוחד נוסף « עבור כל אחד ». בקוד אופרטור זה מסומן על ידי אותה מילת מפתח עבור . - המפעיל לכל אחד משמש רק עם אוספים ומכולות. הוא משתמש בחשאי באיטרטור. - הרשו לי להראות לכם דרך מלאה וקצרה לעבודה עם איטרטור: רמה ישנה 08 - 8- שימו לב: בטבלה הימנית אין מילים ירוקות ולא אדומות. למעשה, 3 שורות מוחלפות באחת: רמה ישנה 08 - 9- זה נראה מדהים. אני אוהב את זה יותר ככה! - הבה נסתכל על אותן דוגמאות כמו לעיל, רק בצורה קצרה: רמה ישנה 08 - 10- זה סיפור אחר לגמרי! - אני שמח שאתה אוהב את זה.

3 דייגו, משימות איסוף

היי, אמיגו. אני רוצה לתת לך כמה משימות איסוף:
משימות
1 1. HashSet צמחי
צור אוסף HashSet של אלמנטים מסוג String . הוסף לאוסף 10 מחרוזות: אבטיח, בננה, דובדבן, אגס, מלון, פטל שחור, ג'ינסנג, תות, איריס ותפוח אדמה. הציגו למסך את תוכן האוסף. כל ערך צריך להיות בשורה חדשה. ראה כיצד שינה את סדר הרכיבים שנוספו.
2 2. HashMap של 10 זוגות
צור אוסף HashMap<String, String> , הכנס לאוסף 10 זוגות של מחרוזות: אבטיח - ברי, בננה - דשא, דובדבן - ברי, אגס - פרי, מלון - ירק, אוכמניות - ברי, ג'ינסנג - שורש, תות - ברי, איריס - פרח, תפוח אדמה - פקעת.
הציגו למסך את תוכן האוסף. כל ערך צריך להיות בשורה חדשה.

דוגמה פלט (רק מחרוזת אחת מוצגת):
תפוח אדמה - פקעת
3 3. אוסף HashMap של חתולים
יש מחלקה Cat , שיש לה שם שדה (שם, מחרוזת).
צור אוסף HashMap<String, Cat> .
הוסף 10 חתולים, השתמש בשם החתול כמפתח.
הצג למסך את התוצאה. כל ערך צריך להיות בשורה חדשה.
4 4. הצג למסך את רשימת המפתחות
יש אוסף HashMap<String, String> , יש לו כבר 10 מחרוזות שונות.
הצג למסך את רשימת המקשים. כל ערך צריך להיות בשורה חדשה.
5 5. הצג למסך את רשימת הערכים
יש אוסף HashMap<String, String> , יש לו כבר 10 מחרוזות שונות.
הצג למסך את רשימת הערכים. כל ערך צריך להיות בשורה חדשה.
6 6. אוסף HashMap של אובייקטים
יש אוסף HashMap<String, Object> , יש לו כבר 10 זוגות אובייקטים שונים.
הציגו למסך את תוכן האוסף. כל ערך צריך להיות בשורה חדשה.

דוגמה פלט (רק מחרוזת אחת מוצגת):
Sim - 5

4 קים, מבוא לסוג תאריך

רמה ישנה 08 - 11היי, אמיגו. אני רוצה לספר לכם על סוג מעניין – דייט . סוג זה מאפשר לך לאחסן תאריך ושעה, כמו גם למדוד מרווחי זמן. - זה נראה מבטיח. תמשיך. - כל אובייקט תאריך מאחסן מידע זמן. זה מאוחסן בצורה מאוד מעניינת - מספר האלפיות השניות שחלפו מאז 1 בינואר 1970 GMT. - וואו! - כן. המספר הזה כל כך גדול שהוא לא מתאים ל- int , אתה צריך לאחסן אותו לאורך זמן . אבל קל מאוד לחשב את ההפרש בין שני תאריכים: צריך רק להחסיר מספר אחד ממשנהו כדי לדעת את ההפרש במדויק לאלפיות שניות. בעתיד זה יקל על חייך, כאשר תתמודד עם בעיות באזורי זמן. - והדבר המעניין ביותר הוא שכל אובייקט Date מאותחל לפי זמן היצירה שלו. כדי לבדוק את השעה הנוכחית, אתה רק צריך ליצור אובייקט. - ואיך עובדים עם זה? - הנה כמה דוגמאות: רמה ישנה 08 - 12- השיטה getTime() מחזירה את מספר האלפיות השניות המאוחסנות באובייקט Date. - השיטה after() בודקת אם התאריך, שבו נקראה השיטה הזו, מגיע לאחר התאריך שעבר. - שיטות getHours() , getMinutes() , getSeconds() מחזירות את מספר השעות, הדקות והשניות עבור האובייקט שבו נקראו. - יתרה מכך, בדוגמה האחרונה, אתה רואה שאפשר לשנות את התאריך/שעה המאוחסנים באובייקט Date . אנו מקבלים את השעה והתאריך הנוכחיים, ולאחר מכן מגדירים את השעות, הדקות והשניות לאפס. באופן דומה אנו מגדירים את החודש לינואר, ואת היום בחודש ל-1. כעת האובייקט yearStartTime מאחסן את התאריך והשעה של 1 בינואר, 0 שעות, 0 דקות ו-0 שניות. - אז נקבל את התאריך הנוכחי currentTime , שוב, ונחשב את ההפרש בין שני התאריכים באלפיות שניות. אני מדבר על msTimeDistance . - לאחר מכן חלקו את msTimeDistance במספר אלפיות השנייה ביום וקבלו את מספר הימים הכולל שעברו מתחילת השנה ועד היום! - וואו! זה מגניב!

5 Elly, ArrayList לעומת LinkedList

- מה דעתך לכוון קצת את המוח שלך? אני מקווה שזה עדיין לא התפוצץ. - בטבלת הקונטיינרים והאוספים למעלה ראית כי לאותו ממשק יכולים להיות מספר מימושים. עכשיו אני אגיד לך למה. ומה ההבדל בין ArrayList ל- LinkedList . - העניין הוא שניתן ליישם את האוסף בדרכים שונות ואין יישום אחד נכון . בגישה אחת, חלק מהפעולות הן מהירות והשאר איטיות. בגישה האחרת, זה הפוך. אין פתרון מושלם אחד. - לכן, הוחלט לבצע כמה מימושים של אותה אוסף. כל יישום עבר אופטימיזציה לטווח צר מסוים של פעולות. אז הופיעו אוספים שונים. הבה נבחן דוגמה לשתי מחלקות - ArrayList ו- LinkedList . רמה ישנה 08 - 13- ArrayList מיושם באופן פנימי כמערך רגיל . לכן, כשמכניסים אלמנט לאמצע, יש להזיז את כל האלמנטים באחד אחריו, ואז ניתן להכניס את האלמנט החדש לחלל פנוי. עם זאת, פעולות של קבלת ועריכה של אלמנט ( get() ו-set() ) מיושמות מהר מאוד ב-ArrayList. כי כל מה שהם עושים זה רק גישה לאלמנט המתאים של המערך הפנימי. - ה- LinkedList מיושם בצורה שונה. זה מיושם כרשימה מקושרת : קבוצה של אלמנטים בודדים, שכל אחד מהם מאחסן הפניות לרכיבים הבאים והקודמים. כדי להכניס אלמנט לאמצע רשימה כזו, השיטה add() רק משנה הפניות לשכנים העתידיים שלה. עם זאת, כדי לקבל את האלמנט עם מספר 130, השיטה get() צריכה לפעול באופן עקבי בכל האובייקטים מ-0 עד 130. במילים אחרות, ההגדרה והקבלה כאן מאוד אטית . תסתכל בטבלה למטה: רמה ישנה 08 - 14- כן. זה הולך ומתבהר עכשיו. האם יש קריטריונים או כללים, איזה אוסף הוא הטוב ביותר? - ובכן, לפשטות, הנה הכלל הבא: אם אתה מתכוון להכניס (או להסיר) אלמנטים רבים באמצע האוסף, עדיף שתשתמש ב- LinkedList . אחרת, השתמש ב- ArrayList . - אסביר לך את המבנה הפנימי של הרשימות הללו בדרגים הבכירים. עד כה נלמד כיצד להשתמש בהם.

6 דייגו, משימה: למדוד את הביצועים של שתי הרשימות

- זה אתה. התחלתי להשתעמם. איפה היית? הנה המשימות. - האם הם מעניינים? - למה, בטח! מעניין מאוד:
משימות מעניינות מאוד
1 1. צור שתי רשימות LinkedList & ArrayList.
צור שתי רשימות: LinkedList ו- ArrayList .
2 2. בצע 10,000 הוספות ומחיקות
בצע 10,000 מכל הוספת, מחיקות, קריאות של שיטות get() ו- set() עבור arrayList ו-linkedList.
3 3. מדוד כמה זמן לוקח לעשות עשרת אלפים כניסות לכל רשימה
מדוד כמה זמן לוקח לעשות עשרת אלפים כניסות לכל רשימה.
השיטה getTimeMsOfInsert() אמורה להחזיר את זמן הביצוע שלה באלפיות שניות.
4 4. למדוד את הזמן הדרוש לביצוע עשרת אלפים קריאות get עבור כל רשימה
למדוד את הזמן הדרוש לביצוע עשרת אלפים קריאות של get() עבור כל רשימה
השיטה getTimeMsOfGet() צריכה להחזיר את זמן הביצוע שלה באלפיות שניות.
5 5. ארבע שיטות
יישם 4 שיטות. השיטות אמורות להחזיר רשימה המתאימה ביותר לביצוע פעולות מוגדרות (כדי להתמודד מהר עם מספר רב של פעולות). אין צורך במדידה.

7 אלי: קבע ומפה, מה אפשר לעשות איתם

- עוד לא נמאס לך? לא, אז בואו נמשיך. אני רוצה להסביר לך מה זה סט ומפה . ואיזה פעולות יש להם. - סט הוא חבורה של אובייקטים שאינם מנופרים. המאפיין העיקרי של Set הוא שיש לו אובייקטים ייחודיים בלבד , כלומר כולם שונים . זה מה שאתה יכול לעשות עם זה: - זה הכל? - האמת שכן. אתה יכול גם לקבוע את מספר האלמנטים באמצעות השיטה size() . - מה עם מפה ? - המפה היא סט זוג. זה אותו קבוצה, לא של אלמנטים בודדים, אלא של צמדי מפתח-ערך. ההגבלה היחידה היא שהאובייקט הראשון בזוג, הנקרא מפתח, הוא להיות ייחודי . המפה לא יכולה להכיל שני זוגות עם אותם מפתחות. - זה מה שאנחנו יכולים לעשות עם מפה : - זה הרבה יותר מעניין מאשר מוגדר. - כן, למרות שהמפה אינה פופולרית כמו הרשימה, היא משמשת למשימות רבות. רמה ישנה 08 - 15רמה ישנה 08 - 16

8 משימות דייגו, סט ומפה

- אני מקווה שכבר למדת מה זה סט ומפה? הנה כמה משימות הגדרה ומפה.
משימות איסוף
1 1. 20 מילים המתחילות ב- «L»
צור קבוצה של מחרוזות ( Set<String> ), הכנס לתוכה 20 מילים שמתחילות ב- «L».
2 2. הסר את כל המספרים הגדולים מ-10
צור קבוצה של מספרים ( Set<Integer> ), הכנס לתוכה 20 מספרים שונים.
הסר מהקבוצה את כל המספרים הגדולים מ-10.
3 3. שם פרטי ושם משפחה זהים
צור מילון ( מפה<String, String> ) והוסף עשרה ערכים לפי המודל «שם משפחה» - «שם פרטי». בדוק לכמה אנשים יש את אותו שם פרטי או שם משפחה כמו השם שצוין.
4 4. הסר את כל האנשים שנולדו בקיץ
צרו מילון ( מפה<String, Date> ) והוסיפו עשרה ערכים לפי המודל «רעמה אחרונה» - «תאריך לידה». הסר מהמפה את כל האנשים שנולדו בקיץ.
5 5. הסר אנשים בעלי אותו שם פרטי
צור מילון ( מפה<String, String> ) והוסף עשרה ערכים לפי המודל «שם משפחה» - «שם פרטי». הסר אנשים בעלי אותו שם פרטי.

9 פרופסור, הרצאה על אוספים

רמה ישנה 08 - 17- האו-האו. סוף סוף הגענו לאוספים. עדיין יש לי הרצאה נפלאה מהתקופה שהייתי סטודנט. זה קצת מאובק, כמובן, אבל ביסודו נהדר. להלן ההערות שלי: Java Collections (Oracle Documentation) Collections in Java (Java T point) Java Collections Framework (נקודת הדרכה) Java Collections Tutorial Tutorial

10 חוליו

- אלוהים אדירים! אתה שוב עמוס מדי! לא אמרתי לך לא לעבוד כל כך הרבה? תן לי לשחק משהו שיעזור לך להירגע:

11 קפטן סנאים

– שלום חייל! - בוקר טוב אדוני! - יש לי חדשות מדהימות בשבילך. הנה בדיקה מהירה כדי לחזק את הכישורים שלך. עשה זאת כל יום, ותשפר את הכישורים שלך ממש מהר. משימות תוכננו במיוחד לביצוע ב-Intellij IDEA.
משימות נוספות לעשות ב-Intellij Idea
1 1. סט חתולים
1. צור מחלקה סטטית ציבורית Cat בתוך המחלקה פתרון .
2. הטמיעו את השיטה createCats() , שאמורה ליצור סט של חתולים ולהוסיף לו שלושה חתולים.
3. בשיטה הראשית , הסר חתול מה- Set cats.
4. הטמיעו את השיטה printCats() , שאמורה להציג למסך את כל החתולים שנותרו בסט. כל חתול צריך להיות על קו חדש.
2 2. סט של כל החיות
1. צור מחלקות סטטיות ציבוריות חתול וכלב בתוך הכיתה פתרון.
2. הטמיעו את השיטה createCats() , שאמורה להחזיר קבוצה של 4 חתולים.
3. הטמיעו את השיטה createDogs() , שאמורה להחזיר קבוצה של 3 כלבים.
4. יישם את השיטה join() , שאמורה להחזיר את הסט המשולב של כל החיות, גם חתולים וגם כלבים.
5. הטמיעו את השיטה removeCats() , שאמורה להסיר מהסט חיות מחמד את כל החתולים שנמצאים ב-set cats.
6. הטמיעו את השיטה printPets() , שאמורה להציג למסך את כל החיות הקיימות בו. כל חיה צריכה להיות על קו חדש.
3 3. אנשים בעלי אותם שמות פרטיים ו/או שמות משפחה
1. צור מילון ( מפה<String, String> ) והוסף 10 אנשים לפי המודל «שם משפחה» - «שם פרטי».
2. בין 10 האנשים הללו, שיהיו אנשים בעלי אותם שמות פרטיים.
3. בין 10 האנשים הללו, שיהיו אנשים בעלי אותם שמות משפחה.
4. הצג למסך את תוכן המפה .
4 4. המינימום של N מספרים
1. קרא ממספר המקלדת N .
2. קרא מהמקלדת N מספרים שלמים ומלא בהם רשימה באמצעות שיטה getIntegerList() .
3. מצא את המספר המינימלי בין רכיבי הרשימה באמצעות שיטה getMinimum() .
5 5. עצור תראה תקשיב. כעת באותיות רישיות
כתוב תוכנית שאמורה לקרוא מהמקלדת מחרוזת.
על התוכנית להחליף את האותיות הראשונות של כל המילים בטקסט באותיות רישיות.
הצג למסך את התוצאה.

קלט דוגמה:
עצור תראה תקשיב
פלט דוגמה:
עצור מראה תקשיב
6 6. כל המשפחה ביחד
1. צור כיתת אנוש עם השדות: שם מחרוזת , מין בוליאני , גיל אינט , ArrayList<Human> children .
2. צרו 9 חפצים ומלאו אותם כך שיתקבלו שני סבים, שתי סבתות, אבא, אמא ושלושה ילדים. 3. הצג למסך את כל האובייקטים האנושיים .
7 7. הזז שינוי סטטי אחד
הזז שינוי סטטי אחד כך שהקוד יתחבר.
8 8. חמישה המספרים הגדולים ביותר
צור מערך של 20 מספרים. מלא אותו במספרים הנקראים מהמקלדת. הצג למסך את חמישה המספרים הגדולים ביותר.
9 9. עבודה עם תאריך
1. הטמיעו את השיטה isDateOdd(String date) כך שתחזיר true, אם מספר הימים מתחילת השנה הוא אי זוגי, אחרת הוא מחזיר false.
2. תאריך המחרוזת עבר בפורמט 1 במאי 2013

1 בינואר 2000 → נכון
2 בינואר 2020 → לא נכון
המשימות האלה היו לירוקים. הוספתי משימות בונוס בעלות מורכבות גבוהה יותר. עבור רובים מובילים בלבד.
משימות בונוס
1 1. מספר חודש.
על התוכנית לקרוא מהמקלדת את שם החודש ולהציג למסך את מספרו בצורה הבאה: « מאי הוא 5 חודשים »
2 2. הוסף פונקציונליות חדשה לתוכנית.
משימה ישנה: התוכנית קובעת איזו משפחה (שם משפחתה) גרה בבית עם המספר שצוין.
משימה חדשה: התוכנית צריכה לעבוד עם הערים ולא עם מספרי בתים.

קלט דוגמה:
וושינגטון
הסמית'ס
ניו יורק
הבראונס
לונדון
הג'ונסונס

לונדון

פלט דוגמה:
הג'ונסונס
3 3. לימוד ותרגול אלגוריתם.
משימה: על התוכנית לקרוא מהמקלדת 20 מילים ולהציגן בסדר אלפביתי.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION