Summe und Durchschnitt
Teil des Abschnitts Grundlagen der Kotlin-Journey von Coddy. Lektion 88 von 93.
Aufgabe
MittelIn der vorherigen Lektion hast du die Funktionalität „View All Expenses“ implementiert. Implementiere nun die Funktionalität „Total and Average“ für Option 3.
Ändere dein Programm so, dass es Option 3 verarbeitet:
- Wenn die Liste
expensesleer ist, gibNo expenses recorded.aus. - Wenn Ausgaben vorhanden sind, berechne und gib Folgendes aus:
Total: $X, wobei X die Summe aller Ausgaben istAverage: $Y, wobei Y der Durchschnitt aller Ausgaben ist
Alle anderen Optionen sollen weiterhin wie zuvor funktionieren:
- Option
1: Ausgabe hinzufügen - Option
2: Alle Ausgaben anzeigen - Option
5:Goodbye!ausgeben und beenden - Option
4oder ungültige Eingabe:Invalid optionausgeben
Eingabeformat:
Menüauswahlen und Ausgabenbeträge als Zeichenketten.
Ausgabeformat:
Das Menü, gefolgt von der entsprechenden Antwort für jede Aktion.
Beispiel:
Wenn die Eingaben 3, 1, 20.0, 1, 30.0, 1, 10.0, 3 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:
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!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 == "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