דייבטיילור
פוסטר מקורי- 6 בנובמבר 2007
- אברדנשייר, סקוטלנד
- 25 בינואר 2010
עֶזרָה? חחח
iShater
- 13 באוגוסט 2002
- שיקגולנד
- 25 בינואר 2010
סטנל8
- 24 בדצמבר 2009
- מנצ'סטר, בריטניה
- 25 בינואר 2010
return ('' + BMI);
כלומר, האופרטור '+' יבצע שרשור.
שנית, אני לא מבין מתי הצהרות ה-if יבוצעו אי פעם כי יש לך הצהרת return למעלה שתמיד תתבצע ד
דייבטיילור
פוסטר מקורי- 6 בנובמבר 2007
- אברדנשייר, סקוטלנד
- 25 בינואר 2010
iShater אמר: האם אתה יכול לפרסם את השגיאה בפועל? מדוע הצהרת ההחזר שלך נמצאת לפני סוף השיטה שלך? לחץ להרחבה...
השגיאה בפועל היא כפולה לא ניתנת להפרדה.
קרומולנט
- 2 באוקטובר 2006
- ארץ התקווה והתהילה
- 25 בינואר 2010
שנית השיטה שלך מחזירה כפול אבל אתה מנסה להחזיר מחרוזת במשפטי if.. else שלך.
שלישית בעת קריאה למתודה toString() אתה צריך להשתמש באובייקט Double ולא בסוג הפרימיטיבי. אז אתה צריך להכריז על BMI ככפול (java.lang.Double) ולא כפול.
הנה דוגמה פשוטה:
קוד: |_+_|
chown33
מַנחֶה
חבר צוות- 9 באוגוסט 2009
- המישור התהומי
- 25 בינואר 2010
דייבטיילור אמר: לא ניתן לזהות את השגיאה בפועל כפולה. לחץ להרחבה...
ראשית, אתה לא יכול לעשות את זה:
קוד: |_+_|
כי BMI מוכרז כ לְהַכפִּיל , הסוג הפרימיטיבי. ג'אווה לא מבצעת אוטובוקס במצב זה, כזכור.
אם ה-BMI הוכרז כ לְהַכפִּיל , מחלקת העטיפה לסוג הפרימיטיבי, אז זה עשוי לעבוד...
חוץ מזה שאתה לא יכול לעשות את זה:
קוד: |_+_|
מכיוון ש-Java לא מוסיפה אוטומטית () עבורך. אם ברצונך להפעיל את המתודה toString על אובייקט, עליך לכתוב אותה בתור הפעלת מתודה:
קוד: |_+_|
אם אתה לא משתמש במדריך או בספר, אתה באמת צריך לעשות זאת.
lee1210
- 10 בינואר 2005
- דאלאס, טקסס
- 25 בינואר 2010
-לקרוא ג
cx300
- 12 בספטמבר 2008
- קלרמונט, פלורידה
- 25 בינואר 2010
קוד: |_+_|
chown33
מַנחֶה
חבר צוות- 9 באוגוסט 2009
- המישור התהומי
- 25 בינואר 2010
cx300 אמר: הג'אווה שלי קצת חלודה אבל זה אמור להיות נכון...
קוד: |_+_| לחץ להרחבה...
כאשר החישוב הוא (משקל/(מסה *מסה)) ללא מקדמים אחרים, יחידות הגובה הן מטרים ויחידות המסה (משקל) הן קילוגרמים. אם הגובה יכול לקחת רק מטרים שלמים (1, 2, 3), יש לך בעיית דיוק רצינית.
http://en.wikipedia.org/wiki/Body_mass_index
כמו כן, סוגים אלו לעולם לא ייצרו ערך שבר כלשהו בתוצאה, מכיוון שהחישוב מתבצע כולו באריתמטיקה של מספרים שלמים (כלומר חיתוך חלוקה), ואז תוצאת המספרים השלמים מומרת לכפולה. אם אתה רוצה חישוב כפול עם אפשרות של חלק שבר, לפחות אופרנד אחד חייב להיות מסוג כפול.
אני לא חושב שהבעיה הזו ייחודית לג'אווה. יהיו לך בעיות דומות ב-C, שיש לו כללים דומים עבור מספר שלם וחשבון כפול.
רשום פופולרי