Menu
Coddy logo textTech

合計と平均

CoddyのKotlinジャーニー「基礎」セクションの一部。レッスン 88/93。

challenge icon

チャレンジ

中級

前のレッスンでは、「View All Expenses」機能を実装しました。ここでは、オプション 3 の「Total and Average」機能を実装してください。

プログラムを変更して、オプション 3 を処理してください。

  • expenses リストが空の場合は、No expenses recorded. を出力します。
  • 支出がある場合は、次を計算して出力します。
    • Total: $X:X はすべての支出の合計
    • Average: $Y:Y はすべての支出の平均

その他のすべてのオプションは、これまでどおり動作する必要があります。

  • オプション 1:支出を追加
  • オプション 2:すべての支出を表示
  • オプション 5Goodbye! を出力して終了
  • オプション 4 または無効なオプション:Invalid option を出力

入力形式:

メニューの選択肢と支出額を文字列として入力します。

出力形式:

メニューと、それぞれの操作に応じた適切な応答を出力します。

例:

入力が 3120.0130.0110.035 の場合、出力は次のようになります。

--- 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!

自分で試してみよう

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")
        }
    }
}

基礎のすべてのレッスン

自分で練習してみよう: Kotlinプレイグラウンド