Kelas Math
DiperkenalkanJejak rentang acak di kedua ujung
- Tiket memerlukan label bilangan bulat dari 4 hingga 9 termasuk. Gunakan (int)(Math.random() * 6) + 4.
- Pengskalaan memberikan nilai dari 0 hingga tetapi tidak termasuk 6; pemotongan memberikan 0 hingga 5; pergeseran memberikan 4 hingga 9.
Pustaka Math
- Kelas
Mathadalah perpustakaan metode kelas matematika siap pakai dan konstanta. Tidak perlu import dan tidak perlu objek — cukup panggilMath.something(...). - Metode ini mencakup pangkat, akar, pembulatan, nilai mutlak, min/max, dan lain-lain. Pilih metode yang input, tipe output, dan makna matematikanya sesuai dengan tugas; tidak semua input memiliki hasilfinite biasa.
Metode umum untuk AP
Math.abs(x)— nilai mutlak:Math.abs(-5)bernilai5.Math.pow(b, e)— pangkatbkee:Math.pow(2, 3)bernilai8.0.Math.sqrt(x)— akar kuadrat:Math.sqrt(9)bernilai3.0.Math.max(a, b)/Math.min(a, b)— nilai lebih besar / lebih kecil dari dua nilai.
Bilangan acak
Math.random()mengembalikan sebuahdoubledalam rentang0.0hingga (tetapi tidak termasuk)1.0. Skala dan geser untuk rentang:(int)(Math.random() * 6)menghasilkan0–5.- Tambahkan
1untuk lemparan dadu:(int)(Math.random() * 6) + 1menghasilkan1–6. Untuk lebar integer positif n yang moderat sehingga label hasilnya muat dalam int,(int)(Math.random() * n) + startmemberikan n kemungkinan label integer. Untuk 4 hingga 9 termasuk, n adalah9 - 4 + 1 = 6.
Membuat pengacakan dadu dari Math.random()
Skala, truncasi, lalu geser untuk mendapatkan 1-6.
Berapakah hasil Math.pow(2, 3) (sebagai angka)?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
2 pangkat 3 = 8 (dikembalikan sebagai double 8.0).
Math.sqrt(9) mengembalikan nilai bertipe apa?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
sqrt selalu mengembalikan double — cast ke int jika ingin digunakan sebagai bilangan bulat.
Math.random() mengembalikan double dalam rentang mana?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
[0.0, 1.0) — batas atas 1.0 tidak pernah dikembalikan.
Ekspresi manakah yang menghasilkan integer acak dari 1 sampai 6?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Skala dengan 6 → 0..5, truncasi, lalu +1 → 1..6.
Berapakah hasil Math.abs(-5)?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Nilai mutlak −5 adalah 5.
Perhatikan tipe kembalian
Math.powdanMath.sqrtselalu mengembalikan sebuahdouble(misalnya8.0, bukan8). Untuk menggunakan hasilnya sebagaiint, Anda harus mengonversi:(int) Math.pow(2, 3).Math.random()juga merupakandouble— konversilah setelah pengskalaan, bukan sebelum. Menukarintdandoubleadalah kesalahan klasik pada kelas Math.
Math.pow dan Math.sqrt mengembalikan sebuah double, bukan int. Math.pow(2, 3) adalah 8.0; simpan dalam variabel double, atau cast untuk menggunakannya sebagai int. Dan Math.random() menghasilkan double dalam [0.0, 1.0) — batas atas 1.0 tidak pernah dikembalikan. Bangun rentang bilangan bulat dengan (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.
Untuk label 4 hingga 9, substitusikan u=0 ke dalam (int)(u * 6) + 4. Label apa yang dihasilkan?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
Nilai yang dikalikan dan dikonversi adalah nol, lalu 4 ditambahkan.
Math.sqrt(-1) menimbulkan pengecualian alih-alih mengembalikan hasil double.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
Ini mengembalikan nilai double khusus NaN; ini berbeda dari pengecualian.
Lemparan dadu acak (1–6):
Math.random()→ sebuah double seperti0.42.Math.random() * 6→0.0hingga sedikit di bawah6.0(seperti2.52).(int)(Math.random() * 6) + 1→ memotong menjadi2, lalu+1→3.
Terapkan penalaran ke kasus baru
- Konversi sebelum pengskalaan,
(int)Math.random() * 6 + 4, selalu menghasilkan 4. Periksa u=0 dan nilai yang dapat direpresentasikan sedikit di bawah 1 dalam(int)(u * 6) + 4: titik ujung yang mungkin adalah 4 dan 9; u=1 berada di luar rentang metode acak. - Metode perpustakaan juga memiliki perilaku batas:
Math.sqrt(-1)mengembalikan NaN, danMath.abs(Integer.MIN_VALUE)mengembalikan bilangan bulat negatif yang sama karena magnitudo positifnya tidak muat dalam int. Contoh biasa abs(-5)=5 tetap berlaku.
Kelas Math menyediakan metode statik: abs, pow, sqrt, max, min, dan random. pow/sqrt mengembalikan sebuah double (cast untuk mendapatkan int). Math.random() mengembalikan double dalam [0.0, 1.0); bangun rentang integer dengan (int)(Math.random() * n) + start.