Total dan Rata-rata
Termasuk bagian Dasar-Dasar dalam perjalanan Kotlin di Coddy. Pelajaran 88 dari 93.
Tantangan
SedangPada pelajaran sebelumnya, kamu mengimplementasikan fungsi "View All Expenses". Sekarang, implementasikan fungsi "Total and Average" untuk opsi 3.
Ubah programmu agar menangani opsi 3:
- Jika list
expenseskosong, cetakNo expenses recorded. - Jika ada pengeluaran, hitung dan cetak:
Total: $Xdengan X sebagai jumlah semua pengeluaranAverage: $Ydengan Y sebagai rata-rata semua pengeluaran
Semua opsi lainnya harus tetap berfungsi seperti sebelumnya:
- Opsi
1: Tambahkan pengeluaran - Opsi
2: Lihat semua pengeluaran - Opsi
5: CetakGoodbye!lalu keluar - Opsi
4atau opsi yang tidak valid: CetakInvalid option
Format input:
Pilihan menu dan jumlah pengeluaran dalam bentuk string.
Format output:
Menu, diikuti respons yang sesuai untuk setiap tindakan.
Contoh:
Jika inputnya adalah 3, 1, 20.0, 1, 30.0, 1, 10.0, 3, dan 5, outputnya seharusnya:
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
No expenses recorded.
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Enter expense amount:
Expense added!
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Total: $60.0
Average: $20.0
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
Goodbye!Coba sendiri
fun main() {
val expenses = mutableListOf<Double>()
while (true) {
println("--- Expense Tracker ---")
println("1. Add Expense")
println("2. View All Expenses")
println("3. Total and Average")
println("4. Clear All")
println("5. Exit")
println("Choose an option:")
val choice = readLine()
if (choice == "1") {
println("Enter expense amount:")
val amount = readLine()!!.toDouble()
expenses.add(amount)
println("Expense added!")
} else if (choice == "2") {
if (expenses.isEmpty()) {
println("No expenses recorded.")
} else {
println("Your expenses:")
for (expense in expenses) {
println("- \$$expense")
}
}
} else if (choice == "5") {
println("Goodbye!")
break
} else {
println("Invalid option")
}
}
}Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPenugasan GabunganOperator PerbandinganRingkasan: Matematika Sederhana7Dasar input dan output
Fungsi PrintlnTemplate stringInput ReadLineKonversi Tipe DataRingkasan: Tahun hingga PensiunRingkasan: Benar atau Salah10Fungsi
Deklarasikan FungsiParameter dan ArgumenNilai KembalianArgumen BernamaNilai DefaultFungsi Ekspresi TunggalUlasan: Fungsi SigmaUlasan: Fungsi Validasi5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Operator Logika Bagian 3Ternary dengan Ekspresi ifRangkuman: Logika Sederhana8Kalkulator Pembagi Tagihan
Pesan Selamat DatangMenerima Input11FizzBuzz dengan Sentuhan Unik
Gambaran Umum GameFungsi FizzBuzz3Kemungkinan Null
Apa Itu Keamanan NullTipe yang Dapat Bernilai NullOperator Pemanggilan AmanOperator ElvisDasar Tantangan FungsiPenegasan Bukan NullRangkuman: Akses Aman6Pengambilan Keputusan
Pernyataan IfIf - ElseIf sebagai EkspresiEkspresi WhenWhen dengan RentangUlasan - Kalkulator Sederhana9Perulangan
For loopWhile loopDo-while loopBreakContinueRentang dalam loopLoop BersarangRingkasan: FaktorialRingkasan: Input Dinamis12Dasar List
List vs MutableListMengakses ElemenMengubah ListMethod ListPair dan TripleRekap: List ProdukRekap: List Terbalik15Pelacak Pengeluaran Harian
Ikhtisar ProyekKeluar dari ProgramLatihan sendiri: Playground Kotlin