נתונה המחלקה Driver, המייצגת נהג שקבל רישיון נהיגה. תכונות המחלקה הן: שם – name, מטיפוס מחרוזת String; תעודת זהות – id, מטיפוס מחרוזת String; שנת לידה – year, מטיפוס מספר שלם int; מספר מבחני נהיגה כולל – tests, מטיפוס מספר שלם int. במחלקה הוגדרה פעולה בונה (constructor) המקבלת פרמטר לכל תכונה ויוצרת עצם מסוג Driver, המכיל את הערכים האלו בתכונות. כמו כן יש פעולות get/set לכל אחת מהתכונות.
נתונה המחלקה Driver, המייצגת נהג שקבל רישיון נהיגה. תכונות המחלקה הן: שם – name, מטיפוס מחרוזת String; תעודת זהות – id, מטיפוס מחרוזת String; שנת לידה – year, מטיפוס מספר שלם int; מספר מבחני נהיגה כולל – tests, מטיפוס מספר שלם int. במחלקה הוגדרה פעולה בונה (constructor) המקבלת פרמטר לכל תכונה ויוצרת עצם מסוג Driver, המכיל את הערכים האלו בתכונות. כמו כן יש פעולות get/set לכל אחת מהתכונות.
סעיף א
עקוב אחרי קטע התכנית, לכל עצם רשום את השמות של כל התכונות שלו, את הערכים של כל התכונות ואת השינויים שהיו בהם, ורשום את הפלט:
Driver[] d = new Driver[5];
d[0] = new Driver("Yossi", "1234", 2000, 3);
d[1] = new Driver("Avi", "7596", 1980, 7);
d[2] = new Driver("Sara", "6051", 1995, 1);
d[3] = new Driver("Dani", "4472", 1998, 2);
d[4] = d[3];
int m = 0, s = 0;
int x = d[1].getTests();
d[1].setTests(d[3].getTests()+2);
d[3].setTests(x);
for (int i = 0; i < d.length; i++)
{
System.out.println(d[i].getTests());
s = s + d[i].getTests();
if (d[i].getYear() > 1995)
m++;
}
System.out.println((double)s/d.length);
System.out.println(m);
סעיף ב
כתוב פעולה המקבלת מערך של עצמים מסוג Driver, ומספר שלם num, ומחזירה מערך הכולל את השמות של הנהגים שעברו את הטסט בפחות מ-num מבחנים.
public static string[] GetNamesUnder(Driver[] arr, int num)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.