Menu
Coddy logo textTech

すべてクリア

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

challenge icon

チャレンジ

中級

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

オプション 4 を処理できるようにプログラムを変更してください。

  • expenses リストからすべての支出をクリアする
  • All expenses cleared! を出力する

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

  • オプション 1: 支出を追加
  • オプション 2: すべての支出を表示
  • オプション 3: 合計と平均
  • オプション 5: Goodbye! を出力して終了
  • 無効なオプション: Invalid option を出力

入力形式:

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

出力形式:

メニューの後に、各操作に応じた応答を出力します。

例:

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

--- 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:
Your expenses:
- $50.0
- $25.0
--- Expense Tracker ---
1. Add Expense
2. View All Expenses
3. Total and Average
4. Clear All
5. Exit
Choose an option:
All expenses cleared!
--- 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:
Goodbye!

ヒント: 可変リストで clear() メソッドを使用して、すべての要素を削除してください。

自分で試してみよう

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 == "3") {
            if (expenses.isEmpty()) {
                println("No expenses recorded.")
            } else {
                val total = expenses.sum()
                val average = total / expenses.size
                println("Total: \$$total")
                println("Average: \$$average")
            }
        } else if (choice == "5") {
            println("Goodbye!")
            break
        } else {
            println("Invalid option")
        }
    }
}

基礎のすべてのレッスン

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