עבור לתוכן

שאלה בסיסית בג'אווה

Featured Replies

פורסם

יש מטלה שעלי להכין ואני צריך את עזרתם בנושא, זו המטלה:

הגדר מחלקה שתייצג רכב. לכל אובייקט רכב רוצים לשמור מהירות נוכחית בלבד. רכב זה יידע להאיץ ,להאט , לעצור ולהציג את מהירותו. כמובן בעת יצירת הרכב מהירותו שווה 0. האצת הרכב משמעותה הגברת המהירות ב- 1 קמ"ש , והאטה משמעותה הנמכת המהירות ב- 1 קמ"ש.

אני צריך הנחיות כלליות כיצד לכתוב את זה כי הרבה זמן שאני מנסה ולא מצליח,

תודה.

  • תגובות 48
  • צפיות 5k
  • נוצר
  • תגובה אחרונה
פורסם

מה ניסית לעשות ולא הצליח לך?

אני חייב שציין שזה נראה מטלה בסיסית מאוד (יצירת קלאס ומספר פונקציות בשבילו)

פורסם

אתה יודע איך כותבים CLASS?

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

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

פורסם
  • מחבר

קודם כל תודה על התשובות,

אני רק התחלתי ללמוד java וכן מדובר במשימה בסיסית,

יצרתי class וקראתי לו car.

יצרתי 4 תכונות לclass (אני לא בטוח איך לקרוא להם) שבעצם מייצגים, עצירה הגברה והאטה של המהירות.

ולהם אני יוצר 3 שיטות

זה בגדול, לא יודע כמה זה נכון, אני לא יודע איך לעבוד עם המשתנים\פונקציות.

אני צריך ליצור פונקציה נוכחית ואז פעם אחת לעשות לה +1 ופעם אחרת -1 ופעם לאפס אותה

פורסם

תעלה את הקוד שיצרת עד כה.

שים את הקוד בתוך טג קוד (כפתור עם ציור #).

פורסם
  • מחבר

תעלה את הקוד שיצרת עד כה.

שים את הקוד בתוך טג קוד (כפתור עם ציור #).

שניתי את זה כבר כל כך הרבה פעמיים שמה שיש לי עכשיו על הפנים...

פורסם

אין צורך לצטט את ההודעה שישירות מעל ההודעה שלך.

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

פורסם
  • מחבר
public class Cars {



private int increase;
private int decrease;
private int stop;



public void stop() {

int stop = 0;


}


public void decrease() {



}

public void increase(){

}


public void show() {
System.out.println("Your speed is:");
System.out.print(current);



}

}

פורסם

נראה לי שאתה לא כל כך יודע מה המשמעות של פונקציות/שיטות ושל איברים (מה שקראת לו תכונות).

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

פונקציות/שיטות זה פעולות שאפשר לעשות עם האובייקט.

תחשוב איזה תכונות יש בעצם לאובייקט "מכונית", ואיזה שיטות יש לו.

פורסם

^^ תתחיל בזה שתשמור את המהירות *הנוכחית* במשתנה (תכונה) של המחלקה - ומשם תטפל אך ורק בו.

פורסם
  • מחבר

דווקא את זה הבנתי כבר קודם אבל אני לא יודע מבחינת הקוד איך אני יוצר את המהירות הנוכחית,

X מהירות נוכחית

X=0 עצירה

X+1 מגביר מהירות

X-1 מנמיך מהירות

אבל אחרי שאני מגביר מהירות אני לא יכול להוריד באחד אחרת זה מתאפס...

פורסם

למה זה מתאפס? תעלה את הקוד אחרי התיקון הזה.

פורסם
  • מחבר




public class Cars {





private int increase;
private int decrease;
private int stop;
private int current;

public void current (){
int current = 0;
}




public void stop() {

int stop = current = 0;




}




public void decrease() {
int decrease = current -1;

}

public void increase(){
int increase = current +1;
}




public void show() {
System.out.println("Your speed is:");
System.out.print(current);





}




}

פורסם

אתה עדיין מבלבל בין תכונות ושיטות. למה יש תכונות בשם increase, decrease ו-stop? מה הן מייצגות?

כמו שאמרת, הגברת המהירות צריכה להעלות את התכונה שמייצגת את המהירות ב1. אתה יודע איך עושים את זה?

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים