המשימה
בנה מחלקה בשם Ticket שמייצגת כרטיס בתור. המחלקה תכלול: • תכונה **סטטית** פרטית counter, שמתחילה מ-0 ומשותפת לכל הכרטיסים. • תכונה פרטית רגילה id, ייחודית לכל כרטיס. • בנאי בלי פרמטרים שמקדם את המונה ב-1 ומציב את ערכו כ-id של הכרטיס החדש. הכרטיס הראשון מקבל 1, השני 2, וכן הלאה. • פעולה מאחזרת ל-id. • פעולה **סטטית** getCount שמחזירה כמה כרטיסים נוצרו עד כה. הנחיות: • תכונה סטטית שייכת למחלקה, לא לעצם. יש ממנה עותק אחד בלבד, וכל העצמים רואים אותו. • פעולה סטטית נקראת על שם המחלקה ולא על עצם: Ticket.getCount(). • פעולה סטטית אינה יכולה לגשת לתכונה שאינה סטטית — נסה ותראה מה הקומפיילר אומר. זו הנקודה של התרגיל. [טבלה]
קוד הפתיחה
class Ticket {
private static int counter = 0;
private int id;
public Ticket() {
// קדם את המונה, והצב את ערכו ב-id
}
public int getId() {
return 0; // החזר את id
}
/** כמה כרטיסים נוצרו עד כה. */
public static int getCount() {
// כתוב את הפתרון כאן
return 0;
}
}
public class Main {
public static void main(String[] args) {
System.out.println(Ticket.getCount()); // 0
Ticket a = new Ticket();
Ticket b = new Ticket();
Ticket c = new Ticket();
System.out.println(a.getId()); // 1
System.out.println(b.getId()); // 2
System.out.println(c.getId()); // 3
System.out.println(Ticket.getCount()); // 3
Ticket d = new Ticket();
System.out.println(d.getId()); // 4
System.out.println(a.getId()); // 1 — לא השתנה
System.out.println(Ticket.getCount()); // 4
}
}
כדי לכתוב, להריץ ולקבל משוב — התחבר עם חשבון Google. לוקח שנייה.
המשוב נוצר על ידי AI ועשוי לטעות. אם אתה חושב שהפתרון שלך נכון —
כנראה שאתה צודק. הציון כאן הוא לתרגול בלבד ואינו מדווח לאיש.
אל תכתוב בקוד פרטים אישיים כמו שם מלא, טלפון או כתובת. הקוד נשלח לשירות
בדיקה חיצוני.