המשימה
בנו שתי מחלקות, כל אחת עם חמשת יסודות המחלקה (שם באות גדולה, תכונות,
בנאי, getters ו-setters, ו-toString).
**Grade** — ציון:
• name — שם המקצוע
• value — ערך מספרי שלם בין 0 ל-100
**Student** — תלמיד:
• id — מספר תעודת זהות (מחרוזת)
• grades — שרשרת חוליות של ציונים
הוסיפו ל-Student:
• addGrade(g) — מוסיפה ציון לתלמיד.
• countGrades() — מחזירה כמה ציונים יש לתלמיד.
• hasFailing() — מחזירה true אם קיים אצלו ציון נכשל. ציון נכשל הוא
ציון **מתחת ל-55**.
ולבסוף, פעולה סטטית printFailing שמקבלת מערך של תלמידים ומדפיסה את
תעודות הזהות של אלה שיש להם לפחות ציון נכשל אחד, כל אחת בשורה.
הנחיות:
• התכונות פרטיות. הגישה אליהן רק דרך פעולות המחלקה.
• שימו לב לגבול: 55 עובר, 54 נכשל.
המחלקה Node כבר מצורפת למשימה.
```ds:table
{"title":"הנתונים שבדוגמה","rows":[["ת.ז.","ציונים","יש נכשל?"],["111","מתמטיקה 90 · אנגלית 40","כן"],["222","מתמטיקה 80 · אנגלית 55","לא — 55 עובר"],["333","אין ציונים","לא"],["444","היסטוריה 54","כן — 54 נכשל"]]}
```
קוד הפתיחה
class Grade {
private String name;
private int value;
public Grade(String name, int value) {
// אתחל את התכונות
}
public String getName() { return ""; }
public int getValue() { return 0; }
public void setName(String name) { }
public void setValue(int value) { }
public String toString() { return ""; }
}
class Student {
private String id;
private Node<Grade> grades;
public Student(String id) {
// אתחל את התכונות. שרשרת ריקה היא null.
}
public String getId() { return ""; }
/** מוסיפה ציון לתלמיד. */
public void addGrade(Grade g) {
// כתוב את הפתרון כאן
}
/** כמה ציונים יש לתלמיד. */
public int countGrades() {
// כתוב את הפתרון כאן
return 0;
}
/** האם קיים ציון מתחת ל-55. */
public boolean hasFailing() {
// כתוב את הפתרון כאן
return false;
}
public String toString() { return ""; }
}
public class Main {
/** מדפיסה את תעודות הזהות של התלמידים שיש להם ציון נכשל. */
public static void printFailing(Student[] students) {
// כתוב את הפתרון כאן
}
public static void main(String[] args) {
Student a = new Student("111");
a.addGrade(new Grade("מתמטיקה", 90));
a.addGrade(new Grade("אנגלית", 40));
Student b = new Student("222");
b.addGrade(new Grade("מתמטיקה", 80));
b.addGrade(new Grade("אנגלית", 55));
Student c = new Student("333");
Student d = new Student("444");
d.addGrade(new Grade("היסטוריה", 54));
System.out.println(a.countGrades()); // 2
System.out.println(c.countGrades()); // 0
System.out.println(b.hasFailing()); // false
System.out.println(d.hasFailing()); // true
printFailing(new Student[]{a, b, c, d}); // 111 ואז 444
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.