فئة Math
مُقدَّمتتبع نطاق عشوائي من الطرفين
- التذاكر تحتاج إلى تسميات صحيحة من 4 حتى 9 شاملاً. استخدم (int)(Math.random() * 6) + 4.
- الضرب في معامل يعطي قيمًا من 0 حتى但不包括 6؛ التقطيع يعطي 0 حتى 5؛ الإزاحة تعطي 4 حتى 9.
صندوق أدوات الرياضيات
- الكلاس
Mathهو مكتبة من الأساليب الكلاسيكية و ثوابت الجاهزة للرياضيات. لا حاجة لاستيراد ولا لكائن — فقط استدعيMath.something(...). - يغطي الأسس والجذور والتقريب والقيمة المطلقة والحد الأدنى/الأعلى، وأكثر. اختر الطريقة التي تتوافق فيها المدخلات، ونوع المخرجات، والمعنى الرياضي مع المهمة؛ ليس لكل مدخل نتيجة عادية محدودة.
طرق شائعة لـ AP
Math.abs(x)— القيمة المطلقة:Math.abs(-5)هي5.Math.pow(b, e)—bأُسe:Math.pow(2, 3)هي8.0.Math.sqrt(x)— الجذر التربيعي:Math.sqrt(9)هي3.0.Math.max(a, b)/Math.min(a, b)— الأكبر / الأصغر من قيمتين.
أرقام عشوائية
Math.random()تُرجعdoubleفي نطاق0.0حتى (ولكن لا بما فيه)1.0. اضربها في معامل وأزحها لنطاق:(int)(Math.random() * 6)تُعطي0–5.- أضف
1لرمي نرد:(int)(Math.random() * 6) + 1يعطي1–6. بالنسبة لعدد صحيح موجب n بعرض معتدل بحيث تتسع التسميات الناتجة في int، فإن(int)(Math.random() * n) + startيمنح n من تسميات الأعداد الصحيحة الممكنة. من 4 إلى 9 شاملاً، يكون n هو9 - 4 + 1 = 6.
بناء رمي نرد من Math.random()
المقياس، التقطيع، ثم الإزاحة للحصول على 1-6.
ما هي قيمة Math.pow(2, 3) (كعدد)؟
Difficulty 2/5 · 140 coins + a small bonus on first completion today
2 أس 3 = 8 (مُرجعة كـ double 8.0).
Math.sqrt(9) تُرجع قيمة من أي نوع؟
Difficulty 1/5 · 100 coins + a small bonus on first completion today
sqrt تُرجع دائمًا double — يجب تحويلها (cast) لاستخدامها كـ int.
Math.random() تُرجع double في أي نطاق؟
Difficulty 1/5 · 100 coins + a small bonus on first completion today
[0.0, 1.0) — الحد الأعلى 1.0 لا يُرجع أبدًا.
أي تعبير يعطي عددًا عشوائيًا صحيحًا من 1 إلى 6؟
Difficulty 1/5 · 100 coins + a small bonus on first completion today
المقياس بـ 6 → 0..5، التقطيع، ثم +1 → 1..6.
ما هو Math.abs(-5)؟
Difficulty 2/5 · 140 coins + a small bonus on first completion today
القيمة المطلقة لـ −5 هي 5.
انتبه لأنواع الإرجاع
Math.powوMath.sqrtتُرجعان دائمًاdouble(مثل8.0، وليس8). لاستخدام النتيجة كـint، يجب عليك التحويل النوعي:(int) Math.pow(2, 3).Math.random()هي أيضًاdouble— قم بالتحويل النوعي بعد الضرب في المعامل، وليس قبله. الخلط بينintوdoubleهو خطأ كلاسيكي في كلاس Math.
**Math.pow وMath.sqrt يردان double، وليس int. Math.pow(2, 3) يساوي 8.0؛ احفظه في متغير double، أو حوّل النوعي لاستخدامه كـ int. وMath.random() يعطي double في [0.0, 1.0) — الحد الأعلى 1.0 لا يُرجع أبدًا. بنِ نطاقًا للأعداد الصحيحة باستخدام (int)(Math.random() * n) + start.
Order the operations that build labels 4 through 9.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
Scaling must happen before the cast; otherwise every initial cast is zero.
بالنسبة للتسميات من 4 إلى 9، عوض u=0 في (int)(u * 6) + 4. ما هي التسمية الناتجة؟
Difficulty 2/5 · 140 coins + a small bonus on first completion today
القيمة المضروبة والمحول نوعها تساوي صفراً، ثم يُضاف 4.
يُطلق Math.sqrt(-1) استثناءً بدلاً من إرجاع نتيجة من نوع double.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
يرجع القيمة الخاصة NaN من نوع double؛ وهذا يختلف عن الاستثناء.
إرماء نرد عشوائي (1–6):
Math.random()→ قيمة double مثل0.42.Math.random() * 6→0.0حتى ما قبل6.0مباشرة (مثل2.52).(int)(Math.random() * 6) + 1→ قصها إلى2، ثم+1→3.
انقل الاستدلال إلى حالة جديدة
- التحويل الصارم قبل القياس،
(int)Math.random() * 6 + 4، يعطي دائمًا 4. تحقق من u=0 وقيمة قابلة للتمثيل أقل بقليل من 1 في(int)(u * 6) + 4: النقاط الطرفية الممكنة هي 4 و9؛ u=1 خارج نطاق طريقة التوليد العشوائي. - أساليب المكتبة لها أيضًا سلوك حدودي:
Math.sqrt(-1)تُرجع NaN، وMath.abs(Integer.MIN_VALUE)تُرجع نفس العدد الصحيح السلبي لأن مقدارها الموجب لا يتسع لـ int. المثال العادي abs(-5)=5 لا يزال صالحًا.
توفر فئة Math طرقًا ثابتة: abs، pow، sqrt، max، min، وrandom. pow/sqrt تردها double (حوّل النوعي للحصول على int). تردها Math.random() قيمة double في [0.0, 1.0)؛ بنِ نطاقًا للأعداد الصحيحة باستخدام (int)(Math.random() * n) + start.