Alle löschen
Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 89 von 93.
Aufgabe
MittelIn der vorherigen Lektion hast du die Funktionalität „Total and Average“ implementiert. Implementiere nun die Funktionalität „Clear All“ für Option 4.
Ändere dein Programm so, dass es Option 4 verarbeitet:
- Alle Ausgaben aus der Liste
expenseslöschen All expenses cleared!ausgeben
Alle anderen Optionen sollten weiterhin wie zuvor funktionieren:
- Option
1: Ausgabe hinzufügen - Option
2: Alle Ausgaben anzeigen - Option
3: Gesamtsumme und Durchschnitt - Option
5:Goodbye!ausgeben und beenden - Ungültige Optionen:
Invalid optionausgeben
Eingabeformat:
Menüauswahlen und Ausgabenbeträge als Zeichenketten.
Ausgabeformat:
Das Menü, gefolgt von der passenden Antwort für jede Aktion.
Beispiel:
Wenn die Eingaben 1, 50.0, 1, 25.0, 2, 4, 2 und 5 sind, sollte die Ausgabe wie folgt aussehen:
--- 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!Tipp: Verwende die Methode clear() für deine veränderbare Liste, um alle Elemente zu entfernen.
Probier es selbst
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")
}
}
}Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorErweiterte ZuweisungVergleichsoperatorenRückblick – Einfache Mathematik7Grundlegende Ein-/Ausgabe
println-FunktionString-VorlagenReadLine-EingabeTypkonvertierungWiederholung – Jahre bis zur RenteWiederholung – Wahr oder falsch10Funktionen
Eine Funktion deklarierenParameter und ArgumenteRückgabewerteBenannte ArgumenteStandardwerteFunktionen mit einem AusdruckRückblick – Sigma-FunktionRückblick – Validierungsfunktion2Variablen
Val vs VarTypinferenzZahlenStringBooleanNamenskonventionenRückblick – Variablen initialisieren5Operatoren Teil 2
Logische Operatoren Teil 1Logische Operatoren Teil 2Logische Operatoren Teil 3Ternär mit If-AusdruckWiederholung – Einfache Logik8Rechner zum Aufteilen der Rechnung
WillkommensnachrichtEingaben erfassen11FizzBuzz mit einer Wendung
SpielübersichtDie FizzBuzz-Funktion3Nullbarkeit
Was ist Null-Sicherheit?Nullable-TypenOperator für sicheren AufrufElvis-OperatorGrundlagen der FunktionsaufgabeAssertion auf Nicht-NullRückblick – Sicherer Zugriff6Entscheidungen treffen
If-AnweisungIf - ElseIf als AusdruckWhen-AusdruckWhen mit BereichenRückblick - Einfacher Taschenrechner9Schleifen
For-SchleifeWhile-SchleifeDo-While-SchleifeBreakContinueBereiche in SchleifenVerschachtelte SchleifeRückblick – FakultätRückblick – Dynamische Eingabe12Grundlagen von Listen
List vs. MutableListAuf Elemente zugreifenListen verändernListenmethodenPaar und TripleWiederholung – ProduktlisteWiederholung – Umgekehrte Liste15Täglicher Ausgaben-Tracker
ProjektübersichtProgramm beendenÜbe selbstständig: Kotlin-Playground