Suma i średnia
Część sekcji Podstawy ścieżki Kotlin w Coddy. Lekcja 88 z 93.
Wyzwanie
ŚredniW poprzedniej lekcji zaimplementowałeś funkcję „View All Expenses”. Teraz zaimplementuj funkcję „Total and Average” dla opcji 3.
Zmodyfikuj program tak, aby obsługiwał opcję 3:
- Jeśli lista
expensesjest pusta, wypiszNo expenses recorded. - Jeśli są jakieś wydatki, oblicz i wypisz:
Total: $X, gdzie X to suma wszystkich wydatkówAverage: $Y, gdzie Y to średnia wszystkich wydatków
Wszystkie pozostałe opcje powinny nadal działać jak dotychczas:
- Opcja
1: Dodaj wydatek - Opcja
2: Wyświetl wszystkie wydatki - Opcja
5: WypiszGoodbye!i zakończ działanie - Opcja
4lub nieprawidłowa opcja: WypiszInvalid option
Format danych wejściowych:
Wybory z menu i kwoty wydatków jako ciągi znaków.
Format danych wyjściowych:
Menu, a następnie odpowiedź odpowiednia dla każdej akcji.
Przykład:
Jeśli dane wejściowe to 3, 1, 20.0, 1, 30.0, 1, 10.0, 3 i 5, dane wyjściowe powinny wyglądać następująco:
--- 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!Spróbuj swoich sił
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")
}
}
}Wszystkie lekcje w sekcji Podstawy
4Operatory – część 1
Operatory arytmetyczneOperator moduloPrzypisanie z operatoremOperatory porównaniaPowtórka – proste działania matematyczne7Podstawowe wejście/wyjście
Funkcja printlnSzablony ciągów znakówWczytywanie danych przez ReadLineKonwersja typówPowtórka — lata do emeryturyPowtórka — prawda czy fałsz10Funkcje
Deklarowanie funkcjiParametry i argumentyWartości zwracaneArgumenty nazwaneWartości domyślneFunkcje z pojedynczym wyrażeniemPowtórka – funkcja SigmaPowtórka – funkcja walidująca2Zmienne
Val a VarWnioskowanie o typieLiczbyŁańcuch znakówWartość logicznaKonwencje nazewnictwaPowtórzenie – inicjalizacja zmiennych5Operatory, część 2
Operatory logiczne, część 1Operatory logiczne, część 2Operatory logiczne, część 3Operator trójargumentowy z wyrażeniem ifPowtórka — prosta logika8Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych11FizzBuzz z niespodzianką
Omówienie gryFunkcja FizzBuzz3Obsługa wartości null
Czym jest bezpieczeństwo nullTypy dopuszczające nullOperator bezpiecznego wywołaniaOperator ElvisPodstawy wyzwania z funkcjamiAsercja wartości niebędącej nullPodsumowanie — bezpieczny dostęp6Podejmowanie decyzji
Instrukcja ifIf - elseIf jako wyrażenieWyrażenie whenWhen z zakresamiPowtórka — prosty kalkulator9Pętle
Pętla forPętla whilePętla do-whileBreakContinueZakresy w pętlachPętla zagnieżdżonaPowtórka – silniaPowtórka – dynamiczne wprowadzanie danych12Podstawy list
List a MutableListDostęp do elementówModyfikowanie listMetody listPair i TriplePowtórka – lista produktówPowtórka – odwrócona lista15Codzienny rejestr wydatków
Przegląd projektuZakończenie programuPoćwicz samodzielnie: Edytor online Kotlin