פורסם 2007 בנובמבר 318 שנים אני מקבל את השגיאה Illigal start of expression על השורה הבאה : private int _numerator , _denominator; ועל כל מחלקות הPUBLIC שיש לי ?מה זה אומר ? ואיך אני נפטר מזה ?
פורסם 2007 בנובמבר 318 שנים מחבר כן היא נמצאת בתוך MAIN!!!לפי מה שמצאתי בגוגל אני אמור לפתוח סוגריים מסולסלים וישר לסגור {} ואכן זה פתר את הבעיה, אך אין לי מושג למה זה ?הנה התוכנית שרשמתי עד כה :import java.util.Scanner;public class Equation{ public static void main (String [] args) {} private int _numerator , _denominator; Scanner sinp = new Scanner( System.in); public String toString () { String s= new String(); s= "numerator = " + _numerator +"\t denominator =" + _denominator; return s; } public Rational () public Rational (int numer , int denom){ System.out.println ("enter 2 numbers"); numer = System.nextInt (); denom = System.nextInt (); //_numerator= numer; // _denominator = denom; Rational rational2 =new Rational (numer,denom); return rational2 }}לאחר שאין יותר את השגיאה של ILLIGAL START EXPRESSION מופיעה לי שגיאה חדשה "invalid method declaration ;return type required"בשורות של public Rational () public Rational (int numer , int denom)*** כמובן שהתכוונתי שמופיעה אותה שגיאה בשתי השורות הנ"ל
פורסם 2007 בנובמבר 318 שנים 1) main זו פונקציה סטטית. זו נקודת הכניסה לתוכנית שלך. הסוגריים המסולסלים אומרים איפה הMAIN מתחיל ואיפה הוא נגמר. מקודם לא סגרת את הMAIN שלך, ולכן קיבלת כל מיני שגיאות שאומרות שאתה כותב דברים במקום שהם לא צריכים להיות כתובים(המילות השמורות PUBLIC וPRIVATE, כמו פונקציות אחרות לא צריכות להיות מוגדרות בתוך פונקציה, אלא בתוך מחלקה).2) כשאתה רושם public Rational, אתה בעצם מגדיר CTOR למחלקה בשם Rational. הCTOR של המחלקה חייב להיות בתוך המחלקה, ובקוד הנוכחי אתה רשמת את הCTOR בתוך מחלקה אחרת.אם היית מגדיר את הערך המוחזר, הפונקציה הזו לא הייתה מוגדרת כCTOR(לדוגמא public int Rational). אבל שים לב שזה לא יפגע בלוגיקה של התוכנית שלך(רמז - אתה לא צריך לעשות את זה).
פורסם 2007 בנובמבר 318 שנים מחבר קודם כל תודה על ההסבר!!! מזה CTOR ?!?!?!?! ולא הבנתי מה אני צריך להגדיר בפונקציה?! לפי השגיאה אני אמור לרשום את הטיפוס של ה RETURN ? לפי מה שהבנתי אני אמור להחזיר אובייקט, לא? אם כן איזה טיפוס אני אמור להגדי לו ?!?!?!
פורסם 2007 בנובמבר 318 שנים CTOR = CONSTRUCTOR = פונקציית הבנאי(היא נקראת כאשר אתה עושה new, ודואגת לתת ערכים תחיליים לממברים של האובייקט).הפונקצייה הזו כנראה הועתקה ממקום אחר בו שם המחלקה הוא Rational. תנסה לשנות את השם Equation לשם Rational.
פורסם 2007 בנובמבר 318 שנים מחבר אכן המחלקה Rational "הוכנסה" ממחלקה חיצונית בשם Rational שאינ אמור להשתמש בשיטות שלה לתרגיל הזה!!! ואינ לא יכול לשנות את השם של המחלקה הנוכחית מכיוון שזאת הדרישה של הקורס ששם המחלקה ושם הקובץ יהיו זהים מצטער שאני משגע אותך, אבל אני הסתבכתי פה!!!
פורסם 2007 בנובמבר 318 שנים אתה צריך להוסיף את הקובץ Rational שנמצא בפרוייקט השני לפרוייקט הנוכחי שלך, ואז תוכל להשתמש בו.אתה לא אמור להעתיק את הקוד לתוך הקובץ שהעלת, אלא להשאיר אותו בקובץ Rational.
פורסם 2007 בנובמבר 318 שנים מחבר כן, זה מה שעשיתי, יש לי עכשיו שתי מחלקות Rational ו Equation !!!כשב Equation אני צריך להשמש בשיטות של RATIONAL
פורסם 2007 בנובמבר 318 שנים אתה לא צריך להגדיר את הפונקציות כל פעם מחדש בכל מחלקה. אתה יכול להשתמש בהן, אפילו שהן מוגדרות בקובץ אחר(רק תדאג לשים אותו באותו פרוייקט).
פורסם 2007 בנובמבר 318 שנים מחבר אפשר בבקשה פירוט איך אני אמור לעשתו את זה ?אני אמור להכניס 3 מספרים רציונליים ,אני אני עושה את זה ואיך אני משתמש בהם אחרי שהם נקלטו ?עלה רעיון בראשי, תגיד לי אם הוא בר ביצוע:להגדיר שני משתנים שיקבלו לתוכם נתונים (לדוגמה x=2, y=4 )ואז לבנות אובייקט חדש על ידי CTOR Rational ratioanl2 = new Rational (x,y)
פורסם 2007 בנובמבר 418 שנים מחבר אבל במקרה הזה אני יכול חהזין רק מספרים קבועיים בבנאי!ואם אני רוצה כל הזמן מספרים שונים אני אז אני צריך משתנים לא ?ועוד שאלה, אחרי שקלטתי מספרים ל3 אובייקטים איך אני יכול לבצע פעולות חשבוניות על הנתונים , איך אני מתשמש באובייקטים ?
פורסם 2007 בנובמבר 418 שנים אבל במקרה הזה אני יכול חהזין רק מספרים קבועיים בבנאי!ואם אני רוצה כל הזמן מספרים שונים אני אז אני צריך משתנים לא ?ועוד שאלה, אחרי שקלטתי מספרים ל3 אובייקטים איך אני יכול לבצע פעולות חשבוניות על הנתונים , איך אני מתשמש באובייקטים ?סלח לי על ההתערבותת אבל נשמע לי שלא הבנת את הבסיס של JAVA וזה קצת מקשה עליך. המלצה שלי : תחזור על הבסיס ותראה שכל השאלות שלך נורא פשוטות.בכל מקרה, אני ממליץ לך להגדיר 2 פרמטרים שיחזיקו את המשתנים שלך וליצור להם מתודות GET ו-SET שיאפשרו לך לשנות אותם, לדוגמא : getNum1() , setNum1(int num1)
פורסם 2007 בנובמבר 418 שנים מחבר אני דיי הבנתי את הבסיס, אבל אינ לא מצליח ליישם את זה !!! כל הזמן צצות לי שגיאות חדשות שאני לא מבין מאיפה הן נובעות!!!למשל הצלחתי ליצור שלושה אובייקטים עם מספרים שונים בכל אחד!!!ועכשיו אני צריך להשתמש בשיטות של פעולות מתמטיות מהמחלקה RATIONAL , איך אני עושה 4-*obj1*obj2 ?!?!
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.