Menu
CoddyTech

查看所有开支

本课属于 Coddy Kotlin 学习旅程的“基础知识”单元。第 87 课,共 93 课。

challenge icon

挑战

中等

在上一课中,你实现了“Add Expense”功能。现在,为选项 2 实现“View All Expenses”功能。

修改程序以处理选项 2:

  • 如果 expenses 列表为空,则打印 No expenses recorded.
  • 如果有支出,则打印 Your expenses:,然后将每笔支出另起一行打印,格式为 - $amount(其中 amount 是支出金额)

其他选项应继续像之前一样正常工作:

  • 选项 1:添加支出
  • 选项 5:打印 Goodbye! 并退出
  • 选项 3、4 或无效选项:打印 Invalid option

输入格式:

菜单选项和支出金额,均以字符串形式提供。

输出格式:

菜单,以及每项操作对应的响应。

示例:

如果输入为 2、1、15.50、1、8.25、2 和 5,则输出应为:

--- 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:
Your expenses:
- $15.5
- $8.25
--- 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 == "5") {
            println("Goodbye!")
            break
        } else {
            println("Invalid option")
        }
    }
}

基础知识中的所有课

自己练习: Kotlin 在线编辑器