Menu
Coddy logo textTech

Cancella tutto

Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 89 di 93.

challenge icon

Sfida

Medio

Nella lezione precedente, hai implementato la funzionalità "Total and Average". Ora implementa la funzionalità "Clear All" per l'opzione 4.

Modifica il programma per gestire l'opzione 4:

  • Cancella tutte le spese dall'elenco expenses
  • Stampa All expenses cleared!

Tutte le altre opzioni devono continuare a funzionare come prima:

  • Opzione 1: Aggiungi una spesa
  • Opzione 2: Visualizza tutte le spese
  • Opzione 3: Totale e media
  • Opzione 5: Stampa Goodbye! ed esci
  • Opzioni non valide: Stampa Invalid option

Formato dell'input:

Scelte del menu e importi delle spese sotto forma di stringhe.

Formato dell'output:

Il menu, seguito dalla risposta appropriata per ogni azione.

Esempio:

Se gli input sono 1, 50.0, 1, 25.0, 2, 4, 2 e 5, l'output dovrebbe essere:

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

Suggerimento: Usa il metodo clear() sulla tua lista mutabile per rimuovere tutti gli elementi.

Provalo tu

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

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Kotlin