שיחה:Java/מערכים/תרגילים

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
קפיצה לניווט קפיצה לחיפוש

בקטע שמסביל על Math.random כתוב שקיבלנו מספרים בין 0.0 ל- 1.0 והכפלנו אותם ב100 כדי לקבל מספרים בין 0-99. אני דיי גרוע בחשבון אבל אם קיבלנו מספרים בין 1.0 ל 0.0 הכפלה ב100 אמורה לתת לנו גם את 100, לא? 1.0*100=100? אם אני לא טועה Math.random אמורה לתת מספרים בין 0.0 ל- 0.9 ואז זה מסתדר. אבל אני לא טוב בחשבון ולא מבין הרבה בתכנות אז אני לא רוצה סתם לשנות.

נראה שאתה צודק. ירון 13:24, 5 בדצמבר 2009 (IST)

נראה לי שגם הכפלה ב99 לעולם לא נותנת 99 לפי זה, ולכן גם לעולם לא 100. אני משנה... yystud@gmail.com

ההסבר הוא ש-Math.random נותנת מספרים בין 0 ל-1 כולל 0 לא כולל 1. זאת אומרת שע"י הכפלה ב-100 יתנו מספרים בין 0 ל-100 כולל 0 לא כולל 100. ואז הוספה של 1 ייתן מספרים בין 1 ל-101 כולל 1 לא כולל 101. (int) בעצם מורידה את החלק השברי מהמספר עצמו. זאת אומרת שאם יצא לנו 100.9 אז כיוון שיש (int) מה שייפלט זה 100.