Total et moyenne
Fait partie de la section Fondamentaux du Journey Kotlin de Coddy. Leçon 88 sur 93.
Défi
MoyenDans la leçon précédente, vous avez implémenté la fonctionnalité "View All Expenses". Implémentez maintenant la fonctionnalité "Total and Average" pour l’option 3.
Modifiez votre programme pour gérer l’option 3 :
- Si la liste
expensesest vide, affichezNo expenses recorded. - S’il y a des dépenses, calculez et affichez :
Total: $X, où X correspond à la somme de toutes les dépensesAverage: $Y, où Y correspond à la moyenne de toutes les dépenses
Toutes les autres options doivent continuer à fonctionner comme auparavant :
- Option
1: Ajouter une dépense - Option
2: Afficher toutes les dépenses - Option
5: AfficherGoodbye!et quitter - Option
4ou option invalide : AfficherInvalid option
Format d’entrée :
Les choix du menu et les montants des dépenses sous forme de chaînes.
Format de sortie :
Le menu, suivi de la réponse appropriée pour chaque action.
Exemple :
Si les entrées sont 3, 1, 20.0, 1, 30.0, 1, 10.0, 3 et 5, la sortie doit être :
--- 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!Essayez vous-même
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")
}
}
}Toutes les leçons de Fondamentaux
4Opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloAffectation augmentéeOpérateurs de comparaisonRécapitulatif - Mathématiques simples7E/S de base
Fonction PrintlnModèles de chaînesEntrée ReadLineConversion de typeRécapitulatif - Années avant la retraiteRécapitulatif - Vrai ou faux10Fonctions
Déclarer une fonctionParamètres et argumentsValeurs de retourArguments nommésValeurs par défautFonctions à expression uniqueRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validation2Variables
Val ou VarInférence de typeNombresChaîne de caractèresBooléenConventions de nommageRécapitulatif - Initialiser des variables5Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Opérateurs logiques, partie 3Ternaire avec une expression ifRécapitulatif - Logique simple8Calculateur de partage d’addition
Message de bienvenueSaisie des données11FizzBuzz avec une variante
Aperçu du jeuLa fonction FizzBuzz3Nullabilité
Qu’est-ce que la sécurité vis-à-vis de nullTypes nullableOpérateur d’appel sécuriséOpérateur ElvisBases des défis de fonctionsAssertion de non-nullitéRécapitulatif - Accès sécurisé6Prise de décision
Instruction IfIf - ElseIf comme expressionExpression WhenWhen avec des plagesRécapitulatif - Calculatrice simple9Boucles
Boucle ForBoucle WhileBoucle Do-WhileBreakContinuePlages dans les bouclesBoucle imbriquéeRécapitulatif - FactorielleRécapitulatif - Entrée dynamique12Bases des listes
List vs MutableListAccéder aux élémentsModifier les listesMéthodes des listesPair et TripleRécapitulatif - Liste de produitsRécapitulatif - Liste inversée15Suivi des dépenses quotidiennes
Vue d’ensemble du projetQuitter le programmeEntraînez-vous par vous-même : Playground Kotlin